public static QuoteItem ToQuoteItem(this Product product, long quantity) { var quoteItem = new QuoteItem(); quoteItem.InjectFrom<NullableAndEnumValueInjecter>(product); quoteItem.Id = null; quoteItem.ImageUrl = product.PrimaryImage.Url; quoteItem.ListPrice = product.Price.ListPrice; quoteItem.ProductId = product.Id; quoteItem.SalePrice = product.Price.SalePrice; quoteItem.ProposalPrices.Add(new TierPrice { Price = product.Price.ActualPrice, Quantity = quantity }); quoteItem.SelectedTierPrice = quoteItem.ProposalPrices.First(); return quoteItem; }
public static QuoteItem ToWebModel(this VirtoCommerceQuoteModuleWebModelQuoteItem serviceModel, Currency currency) { var webModel = new QuoteItem(); webModel.InjectFrom<NullableAndEnumValueInjecter>(serviceModel); webModel.Currency = currency; webModel.ListPrice = new Money(serviceModel.ListPrice ?? 0, currency); webModel.SalePrice = new Money(serviceModel.SalePrice ?? 0, currency); if (serviceModel.ProposalPrices != null) { webModel.ProposalPrices = serviceModel.ProposalPrices.Select(pp => pp.ToWebModel(currency)).ToList(); } if (serviceModel.SelectedTierPrice != null) { webModel.SelectedTierPrice = serviceModel.SelectedTierPrice.ToWebModel(currency); } return webModel; }