Gremo
10-05-2007, 03:04
ciao a tutti.
Ho un oggetto "Section" che può avere + ancestor, un pò come nell'albero di un file xml.
In questa funzione chiamo un GetSectionBySectionId che mi restituisce una sezione in base al sui "SectionId". "ParentId" di Section rappresenta l'id del suo parent.
Tutto funziona, solo che mi vengono restituiti gli ancestor in maniera inversa, il perchè lo capisco bene dal ciclo while, ma non so come risolverlo.
es. Home -> Contatti -> Dove siamo: gli ancestor di dove siamo mi ritornano come " Contatti -> Home"
Public Function GetAncestors(ByVal SectionId As Integer) _
As SectionCollection
Dim dal As New SectionsDal
Dim section As Section = dal.GetSectionBySectionId(SectionId)
Dim retval As New SectionCollection
While section.ParentId <> Integer.MinValue
section = dal.GetSectionBySectionId(section.ParentId)
retval.Add(section)
End While
Return retval
End Function
Ho un oggetto "Section" che può avere + ancestor, un pò come nell'albero di un file xml.
In questa funzione chiamo un GetSectionBySectionId che mi restituisce una sezione in base al sui "SectionId". "ParentId" di Section rappresenta l'id del suo parent.
Tutto funziona, solo che mi vengono restituiti gli ancestor in maniera inversa, il perchè lo capisco bene dal ciclo while, ma non so come risolverlo.
es. Home -> Contatti -> Dove siamo: gli ancestor di dove siamo mi ritornano come " Contatti -> Home"
Public Function GetAncestors(ByVal SectionId As Integer) _
As SectionCollection
Dim dal As New SectionsDal
Dim section As Section = dal.GetSectionBySectionId(SectionId)
Dim retval As New SectionCollection
While section.ParentId <> Integer.MinValue
section = dal.GetSectionBySectionId(section.ParentId)
retval.Add(section)
End While
Return retval
End Function