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