/// <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));
 }
 /// <summary>
 /// Ajoute un article depuis une ligne de doc vers une autre ligne de doc
 /// TODO Conditionnement
 /// Une partie du conditionnement est traitée dans addVbcLigneToAbcExistant()
 /// </summary>
 /// <param name="ligneA"></param>
 /// <param name="ligneB"></param>
 /// <param name="qte"></param>
 private void addArticleFromLigneAToLigneB(IBODocumentLigne3 ligneA, IBODocumentLigne3 ligneB, double qte)
 {
     if (ligneA.ArticleGammeEnum2 != null)
     {
         ligneB.SetDefaultArticleDoubleGamme(ligneA.ArticleGammeEnum1, ligneA.ArticleGammeEnum2, qte);
         return;
     }
     if (ligneA.ArticleGammeEnum1 != null)
     {
         ligneB.SetDefaultArticleMonoGamme(ligneA.ArticleGammeEnum1, qte);
         return;
     }
     ligneB.SetDefaultArticle(ligneA.Article, qte);
 }
예제 #3
0
 private IBODocumentLigne3 addArticleToLigne(IBODocumentLigne3 ligne, IBOArticle3 article, string gamme1, string gamme2, double qt)
 {
     if (gamme2 != null)
     {
         ligne.SetDefaultArticleDoubleGamme(
             article.FactoryArticleGammeEnum1.ReadEnumere(gamme1),
             article.FactoryArticleGammeEnum2.ReadEnumere(gamme2),
             qt
             );
         return(ligne);
     }
     if (gamme1 != null)
     {
         ligne.SetDefaultArticleMonoGamme(
             article.FactoryArticleGammeEnum1.ReadEnumere(gamme1),
             qt
             );
         return(ligne);
     }
     ligne.SetDefaultArticle(article, qt);
     return(ligne);
 }
예제 #4
0
        private void addArticleToLigne(IBODocumentLigne3 ligne, 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 != "")
            {
                ligne.SetDefaultArticleDoubleGamme(
                    article.FactoryArticleGammeEnum1.ReadEnumere(gamme1),
                    article.FactoryArticleGammeEnum2.ReadEnumere(gamme2),
                    qt
                    );
                return;
            }
            if (gamme1 != "")
            {
                ligne.SetDefaultArticleMonoGamme(
                    article.FactoryArticleGammeEnum1.ReadEnumere(gamme1),
                    qt
                    );
                return;
            }
            ligne.SetDefaultArticle(article, qt);
        }