Exemplo n.º 1
0
 /// <summary>
 /// ReadPackElements
 /// </summary>
 /// <param name="ArticleRepository"></param>
 /// <param name="Article"></param>
 /// <param name="PackElements"></param>
 /// <remarks>Récupération des id des éléments du pack</remarks>
 internal static void ReadPackElements(Model.Local.ArticleRepository ArticleRepository, Model.Local.Article Article, out List <Int32> PackElements)
 {
     PackElements = new List <Int32>();
     Model.Sage.F_ARTICLERepository F_ARTICLERepository = new Model.Sage.F_ARTICLERepository();
     Model.Sage.F_ARTICLE           F_ARTICLE           = F_ARTICLERepository.ReadArticle(Article.Sag_Id);
     Model.Sage.F_ARTICLE           F_ARTICLENOMENCLAT;
     Model.Local.Article            ArticleNomenclat;
     foreach (Model.Sage.F_NOMENCLAT F_NOMENCLAT in new Model.Sage.F_NOMENCLATRepository().ListRef(F_ARTICLE.AR_Ref))
     {
         if (F_ARTICLERepository.ExistReference(F_NOMENCLAT.NO_RefDet))
         {
             F_ARTICLENOMENCLAT = F_ARTICLERepository.ReadReference(F_NOMENCLAT.NO_RefDet);
             if (ArticleRepository.ExistSag_Id(F_ARTICLENOMENCLAT.cbMarq) &&
                 F_ARTICLENOMENCLAT.AR_SuiviStock != (short)ABSTRACTION_SAGE.F_ARTICLE.Obj._Enum_AR_SuiviStock.Aucun)
             // pour ne pas prendre en compte les articles non suivi en stock
             {
                 ArticleNomenclat = ArticleRepository.ReadSag_Id(F_ARTICLENOMENCLAT.cbMarq);
                 if (ArticleNomenclat.Art_Sync == true ||
                     (ArticleNomenclat.Pre_Id != null && ArticleNomenclat.Pre_Id.Value != 0))
                 {
                     if (ArticleNomenclat.Art_Pack)
                     {
                         List <Int32> PackPackElements = new List <Int32>();
                         ReadPackElements(ArticleRepository, ArticleNomenclat, out PackPackElements);
                         PackElements.AddRange(PackPackElements);
                     }
                     PackElements.Add(ArticleNomenclat.Art_Id);
                 }
             }
         }
     }
 }