/// <summary>
 /// Ajoute un article depuis une ligne de doc dans processDocument
 /// TODO Conditionnement
 /// </summary>
 /// <param name="doc"></param>
 /// <param name="ligne"></param>
 /// <param name="qte"></param>
 /// <returns></returns>
 private IBODocumentLigne3 addArticleFromLigne(IPMDocument doc, IBODocumentLigne3 ligne, double qte)
 {
     if (ligne.ArticleGammeEnum2 != null)
     {
         return(doc.AddArticleDoubleGamme(ligne.ArticleGammeEnum1, ligne.ArticleGammeEnum2, qte));
     }
     if (ligne.ArticleGammeEnum1 != null)
     {
         return(doc.AddArticleMonoGamme(ligne.ArticleGammeEnum1, qte));
     }
     return(doc.AddArticle(ligne.Article, qte));
 }
Пример #2
0
        private IBODocumentLigne3 addArticleToLigne(IPMDocument doc, string arRef, string gamme1, string gamme2, double qt, string unite)
        {
            IBOArticle3 article;

            if (GetInstance().FactoryArticle.ExistReference(arRef))
            {
                article = GetInstance().FactoryArticle.ReadReference(arRef);
            }
            else if (DiversRepository.UniqueRegex.IsMatch(arRef))
            {
                article       = new DiversRepository().getUniqueArticle(arRef);
                article.Unite = GetInstance().FactoryUnite.ReadIntitule(unite);
                article.Write();
            }
            else
            {
                throw new Exception($"Article '{arRef}' non trouvé");
            }

            if (gamme2 != "")
            {
                return(doc.AddArticleDoubleGamme(
                           article.FactoryArticleGammeEnum1.ReadEnumere(gamme1),
                           article.FactoryArticleGammeEnum2.ReadEnumere(gamme2),
                           qt
                           ));
            }
            if (gamme1 != "")
            {
                return(doc.AddArticleMonoGamme(
                           article.FactoryArticleGammeEnum1.ReadEnumere(gamme1),
                           qt
                           ));
            }
            return(doc.AddArticle(article, qt));
        }