public static TierPrice ToTierPrice(this VirtoCommercePricingModuleWebModelPrice serviceModel, Currency currency) { var listPrice = new Money(serviceModel.List ?? 0, currency); return(new TierPrice(currency) { Quantity = serviceModel.MinQuantity ?? 1, Price = serviceModel.Sale.HasValue ? new Money(serviceModel.Sale.Value, currency) : listPrice }); }
public static ProductPrice ToWebModel(this VirtoCommercePricingModuleWebModelPrice price) { var currency = new Currency(EnumUtility.SafeParse <CurrencyCodes>(price.Currency, CurrencyCodes.USD)); var retVal = new ProductPrice(currency); retVal.InjectFrom(price); retVal.Currency = currency; retVal.ListPrice = new Money((decimal)(price.List ?? 0), price.Currency); retVal.SalePrice = price.Sale == null ? retVal.ListPrice : new Money((decimal)price.Sale, price.Currency); retVal.ActiveDiscount = new Discount { Amount = new Money(0, price.Currency) }; return(retVal); }
public static ProductPrice ToWebModel(this VirtoCommercePricingModuleWebModelPrice price, IEnumerable <Currency> availCurrencies, Language language) { var currency = availCurrencies.FirstOrDefault(x => x.Equals(price.Currency)) ?? new Currency(language, price.Currency); var retVal = new ProductPrice(currency); retVal.InjectFrom(price); retVal.Currency = currency; retVal.ListPrice = new Money(price.List ?? 0d, currency); retVal.SalePrice = price.Sale == null ? retVal.ListPrice : new Money(price.Sale ?? 0d, currency); retVal.ActiveDiscount = new Discount { Amount = new Money(currency) }; return(retVal); }