示例#1
0
        public List <Int32> ListCataloguesArticle(Int32 Article)
        {
            List <Int32> result = new List <int>();

            List <Model.Local.Catalog> Catalogs = new Model.Local.CatalogRepository().List();

            // récupération des ids des catalogues rattachés aux articles sélectionnés
            result.AddRange(Catalogs.Where(c => c.Article.Count(a => a.Art_Id == Article) > 0 ||
                                           c.ArticleCatalog.Count(ac => ac.Art_Id == Article) > 0)
                            .Select(c => c.Cat_Id));
            // récupération des catalogues parents de ceux déjà filtrés
            Catalogs = Catalogs.Where(c => c.ChildrenContainsCatalog(result)).ToList();
            result.AddRange(Catalogs.Select(c => c.Cat_Id));

            // tri des doublons
            result = result.Distinct().ToList();

            return(result);
        }