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;
        }