Exemple #1
0
        /// <summary>
        /// Translates this object instance into a Mosaic message.
        /// </summary>
        /// <param name="converterStream">The converter stream instance which request the message conversion.</param>
        /// <returns>
        /// The Mosaic message representation of this object.
        /// </returns>
        public virtual MosaicMessage ToMosaicMessage(IConverterStream converterStream)
        {
            var request = new Interfaces.Messages.Stock.ArticleMasterSetRequest(converterStream);

            request.ID          = this.Id;
            request.Source      = this.Source;
            request.Destination = this.Destination;

            if (this.Article == null)
            {
                return(request);
            }

            foreach (var article in this.Article)
            {
                ArticleTree <PISArticle> currentArticleTree = new ArticleTree <PISArticle>();
                request.ArticleTrees.Add(currentArticleTree);
                LoadPISArticleToRequestSmallSet(request, currentArticleTree, article);
            }

            return(request);
        }
Exemple #2
0
        /// <summary>
        /// load article information to ArticleMasterSetRequest Small set
        /// </summary>
        /// <param name="request">ArticleMasterSetRequest to update.</param>
        /// <param name="currentArticleTree">Article tree to update</param>
        /// <param name="article">Article source information.</param>
        private void LoadPISArticleToRequestSmallSet(Interfaces.Messages.Stock.ArticleMasterSetRequest request, ArticleTree <PISArticle> currentArticleTree, Article article)
        {
            PISArticle currentPISArticle = currentArticleTree.GetArticle();

            currentPISArticle.Code = article.Id != null?TextConverter.UnescapeInvalidXmlChars(article.Id) : string.Empty;

            currentPISArticle.Name = article.Name != null?TextConverter.UnescapeInvalidXmlChars(article.Name) : string.Empty;

            currentPISArticle.DosageForm = article.DosageForm != null?TextConverter.UnescapeInvalidXmlChars(article.DosageForm) : string.Empty;

            currentPISArticle.PackagingUnit = article.PackagingUnit != null?TextConverter.UnescapeInvalidXmlChars(article.PackagingUnit) : string.Empty;

            currentPISArticle.RobotArticleCode = article.Id != null?TextConverter.UnescapeInvalidXmlChars(article.Id) : string.Empty;   // in wwks2, PIS code = robot article code.

            request.PISArticles.Add(currentPISArticle);

            // Load current article child Articles.
            foreach (var childArticle in article.ChildArticle)
            {
                ArticleTree <PISArticle> childArticleTree = new ArticleTree <PISArticle>();
                LoadPISArticleToRequestSmallSet(request, childArticleTree, childArticle);
                currentArticleTree.AddChild(childArticleTree);
            }
        }