private void LoadCatalogParent(List <Model.Local.Catalog> ListParent, String Add) { Model.Local.CatalogRepository CatalogRepository = new Model.Local.CatalogRepository(); foreach (Model.Local.Catalog Catalog in ListParent) { if (this.ArrayCatalog.Contains(Catalog.Cat_Id) == false) { this.ArrayCatalog.Add(Catalog.Cat_Id); Catalog.Cat_IdWithParent = Add + " - " + Catalog.Cat_Id; this.ListCatalogDisplay.Add(Catalog); List <Model.Local.Catalog> ListNewParent = CatalogRepository.ListParent(Catalog.Cat_Id); if (ListParent.Count > 0) { this.LoadCatalogParent(ListNewParent, Add + " - " + Catalog.Cat_Id); } } } }
private void Window_Loaded(object sender, RoutedEventArgs e) { this.ArrayCatalog = new List <int>(); this.ListCatalogDisplay = new List <Model.Local.Catalog>(); Model.Local.CatalogRepository CatalogRepository = new Model.Local.CatalogRepository(); CheckBoxSearchOnlyCatalog.IsChecked = Global.GetConfig().ArticleUniquementEnStock; this.ListCatalog = CatalogRepository.ListOrderByLevel(); Boolean AddCatalog = false; String Add = ""; foreach (Model.Local.Catalog Catalog in this.ListCatalog) { AddCatalog = false; Add = ""; if (this.ArrayCatalog.Contains(Catalog.Cat_Id) == false) { if (Catalog.Cat_Parent != 0) { if (this.ArrayCatalog.Contains(Catalog.Cat_Parent) == false) { AddCatalog = true; } } else { AddCatalog = true; } } if (AddCatalog == true) { Catalog.Cat_IdWithParent = Catalog.Cat_Id.ToString(); this.ArrayCatalog.Add(Catalog.Cat_Id); this.ListCatalogDisplay.Add(Catalog); Add += Catalog.Cat_Id; List <Model.Local.Catalog> ListParent = CatalogRepository.ListParent(Catalog.Cat_Id); if (ListParent.Count > 0) { this.LoadCatalogParent(ListParent, Add); } } } this.DataGridCatalogue.ItemsSource = this.ListCatalogDisplay; }