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); }
public FinalizeOrderViewModel(FinalizeOrderDTO dto) { this.BillingData = dto.BillingData; this.PaymentMethods = dto.PaymentMethods; this.PriceSum = dto.PriceSum; }