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
            });
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }