Example #1
0
        public static LineItem ToWebModel(this VirtoCommerceOrderModuleWebModelLineItem lineItem)
        {
            var webModel = new LineItem();

            var currency = new Currency(EnumUtility.SafeParse(lineItem.Currency, CurrencyCodes.USD));

            webModel.InjectFrom(lineItem);

            webModel.Currency       = currency;
            webModel.DiscountAmount = new Money(lineItem.DiscountAmount ?? 0, currency.Code);

            if (lineItem.DynamicProperties != null)
            {
                webModel.DynamicProperties = lineItem.DynamicProperties.Select(dp => dp.ToWebModel()).ToList();
            }

            webModel.Price = new Money(lineItem.Price ?? 0, currency.Code);
            webModel.Tax   = new Money(lineItem.Tax ?? 0, currency.Code);

            if (lineItem.TaxDetails != null)
            {
                webModel.TaxDetails = lineItem.TaxDetails.Select(td => td.ToWebModel()).ToList();
            }

            return(webModel);
        }
Example #2
0
        public static LineItem ToWebModel(this VirtoCommerceOrderModuleWebModelLineItem lineItem, IEnumerable <Currency> availCurrencies, Language language)
        {
            var webModel = new LineItem();

            var currency = availCurrencies.FirstOrDefault(x => x.Equals(lineItem.Currency)) ?? new Currency(language, lineItem.Currency);

            webModel.InjectFrom(lineItem);

            webModel.Currency       = currency;
            webModel.DiscountAmount = new Money(lineItem.DiscountAmount ?? 0, currency);

            if (lineItem.DynamicProperties != null)
            {
                webModel.DynamicProperties = lineItem.DynamicProperties.Select(dp => dp.ToWebModel()).ToList();
            }

            webModel.Price = new Money(lineItem.Price ?? 0, currency);
            webModel.Tax   = new Money(lineItem.Tax ?? 0, currency);

            if (lineItem.TaxDetails != null)
            {
                webModel.TaxDetails = lineItem.TaxDetails.Select(td => td.ToWebModel()).ToList();
            }

            return(webModel);
        }