Пример #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 MosaicMessage ToMosaicMessage(IConverterStream converterStream)
        {
            StockInputMessage message = new StockInputMessage(converterStream);

            message.ID            = this.Id;
            message.Source        = this.Source;
            message.Destination   = this.Destination;
            message.IsNewDelivery = TypeConverter.ConvertBool(this.IsNewDelivery);

            if (this.Article.Count > 0)
            {
                foreach (var article in this.Article)
                {
                    var a = new Interfaces.Types.Articles.RobotArticle();
                    a.DosageForm         = TextConverter.UnescapeInvalidXmlChars(article.DosageForm);
                    a.Code               = TextConverter.UnescapeInvalidXmlChars(article.Id);
                    a.Name               = TextConverter.UnescapeInvalidXmlChars(article.Name);
                    a.PackagingUnit      = TextConverter.UnescapeInvalidXmlChars(article.PackagingUnit);
                    a.MaxSubItemQuantity = TypeConverter.ConvertInt(article.MaxSubItemQuantity);
                    message.Articles.Add(a);

                    foreach (var pack in article.Pack)
                    {
                        var p = new RobotPack
                        {
                            ID              = (long)TypeConverter.ConvertULong(pack.Id),
                            DeliveryNumber  = TextConverter.UnescapeInvalidXmlChars(pack.DeliveryNumber),
                            BatchNumber     = TextConverter.UnescapeInvalidXmlChars(pack.BatchNumber),
                            ExternalID      = TextConverter.UnescapeInvalidXmlChars(pack.ExternalId),
                            ExpiryDate      = TypeConverter.ConvertDate(pack.ExpiryDate),
                            StockInDate     = TypeConverter.ConvertDate(pack.StockInDate),
                            ScanCode        = TextConverter.UnescapeInvalidXmlChars(pack.ScanCode),
                            Depth           = TypeConverter.ConvertInt(pack.Depth),
                            Width           = TypeConverter.ConvertInt(pack.Width),
                            Height          = TypeConverter.ConvertInt(pack.Height),
                            Shape           = TypeConverter.ConvertEnum <PackShape>(pack.Shape, PackShape.Cuboid),
                            IsBlocked       = (TypeConverter.ConvertEnum <PackState>(pack.State, PackState.Available) != PackState.Available),
                            SubItemQuantity = TypeConverter.ConvertInt(pack.SubItemQuantity),
                            StockLocationID = string.IsNullOrEmpty(pack.StockLocationId) ? string.Empty : TextConverter.UnescapeInvalidXmlChars(pack.StockLocationId),
                            MachineLocation = string.IsNullOrEmpty(pack.MachineLocation) ? string.Empty : TextConverter.UnescapeInvalidXmlChars(pack.MachineLocation),
                            IsInFridge      = TypeConverter.ConvertBool(pack.IsInFridge)
                        };

                        message.Packs.Add(p);
                        message.Handlings.Add(p, pack.Handling.Input);
                    }
                }
            }

            return(message);
        }
        /// <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 message = new Interfaces.Messages.Stock.StockInfoMessage(converterStream);

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

            if (this.Article != null)
            {
                for (int i = 0; i < this.Article.Length; ++i)
                {
                    var article    = this.Article[i];
                    var msgArticle = new Interfaces.Types.Articles.RobotArticle()
                    {
                        Code          = TextConverter.UnescapeInvalidXmlChars(article.Id),
                        Name          = TextConverter.UnescapeInvalidXmlChars(article.Name),
                        DosageForm    = TextConverter.UnescapeInvalidXmlChars(article.DosageForm),
                        PackagingUnit = TextConverter.UnescapeInvalidXmlChars(article.PackagingUnit)
                    };

                    foreach (var pack in article.Pack)
                    {
                        message.Packs.Add(new Interfaces.Types.Packs.RobotPack()
                        {
                            ID             = (long)TypeConverter.ConvertULong(pack.Id),
                            RobotArticleID = msgArticle.ID,
                            ScanCode       = TextConverter.UnescapeInvalidXmlChars(pack.ScanCode),
                            BatchNumber    = TextConverter.UnescapeInvalidXmlChars(pack.BatchNumber),
                            ExternalID     = TextConverter.UnescapeInvalidXmlChars(pack.ExternalId),
                            ExpiryDate     = TypeConverter.ConvertDate(pack.ExpiryDate)
                        });
                    }

                    message.Articles.Add(msgArticle);
                }
            }

            return(message);
        }
Пример #3
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 response = new Interfaces.Messages.Stock.StockInfoResponse(converterStream);

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

            if (this.Article != null)
            {
                for (int i = 0; i < this.Article.Length; ++i)
                {
                    var article     = this.Article[i];
                    var respArticle = new Interfaces.Types.Articles.RobotArticle()
                    {
                        Code = TextConverter.UnescapeInvalidXmlChars(article.Id)
                    };

                    foreach (var pack in article.Pack)
                    {
                        response.Packs.Add(new Interfaces.Types.Packs.RobotPack()
                        {
                            ID             = (long)TypeConverter.ConvertULong(pack.Id),
                            RobotArticleID = respArticle.ID,
                            BatchNumber    = TextConverter.UnescapeInvalidXmlChars(pack.BatchNumber),
                            ExternalID     = TextConverter.UnescapeInvalidXmlChars(pack.ExternalId),
                            ExpiryDate     = TypeConverter.ConvertDate(pack.ExpiryDate)
                        });
                    }

                    response.Articles.Add(respArticle);
                }
            }

            return(response);
        }