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