示例#1
0
        public FinalizeOrderDTO GetDataForFinalizeOrder(Guid userId)
        {
            var user  = this.context.Users.Include(x => x.CartItems).SingleOrDefault(x => x.Id == userId);
            var items = new List <Item>();

            user.CartItems.ForEach(x =>
            {
                items.Add(this.context.Items.SingleOrDefault(i => i.Id == x.ItemId));
            });

            int priceSum = 0;

            items.ForEach(x =>
            {
                priceSum += (x.DiscountedPrice != null ? x.DiscountedPrice.Value : x.OriginalPrice) * user.CartItems.Single(y => y.ItemId == x.Id).Quantity;
            });

            var dto = new FinalizeOrderDTO()
            {
                BillingData    = new UserBillingDataDTO(user),
                PaymentMethods = new List <string>()
                {
                    EnumExtensionMethods.GetDescription(PaymentMethod.AdvancePayment),
                    EnumExtensionMethods.GetDescription(PaymentMethod.OnlineCreditCard),
                    EnumExtensionMethods.GetDescription(PaymentMethod.WhenDelivered)
                },
                PriceSum = priceSum
            };

            return(dto);
        }
示例#2
0
 public FinalizeOrderViewModel(FinalizeOrderDTO dto)
 {
     this.BillingData    = dto.BillingData;
     this.PaymentMethods = dto.PaymentMethods;
     this.PriceSum       = dto.PriceSum;
 }