private WaitCreateOrder ConvertToWaitCreateOrder(Cart cart, SellingPriceCart sellingPriceCart, ShippingAddress shippingAddress, PaymentMethod paymentMethod, Express express, Coupon coupon) { var orderItems = new List <WaitCreateOrderItem>(); foreach (var sellingPriceFullGroup in sellingPriceCart.FullGroups) { foreach (var sellingPriceCartItem in sellingPriceFullGroup.CartItems) { var cartItem = cart.GetCartItem(sellingPriceCartItem.ProductId); var product = DomainRegistry.ProductService().GetProduct(cartItem.ID); var unitPrice = cartItem.UnitPrice - sellingPriceCartItem.ReducePrice; orderItems.Add(new WaitCreateOrderItem(sellingPriceCartItem.ProductId, cartItem.Quantity, unitPrice, sellingPriceFullGroup.MultiProductsPromotionId, product.SaleName)); } } foreach (var sellingPriceCartItem in sellingPriceCart.CartItems) { var cartItem = cart.GetCartItem(sellingPriceCartItem.ProductId); var product = DomainRegistry.ProductService().GetProduct(cartItem.ID); orderItems.Add(new WaitCreateOrderItem(sellingPriceCartItem.ProductId, cartItem.Quantity, cartItem.UnitPrice, null, product.SaleName)); } return(new WaitCreateOrder(cart.ID, cart.UserId, shippingAddress.Receiver, shippingAddress.CountryId, shippingAddress.CountryName, shippingAddress.ProvinceId, shippingAddress.ProvinceName, shippingAddress.CityId, shippingAddress.CityName, shippingAddress.DistrictId, shippingAddress.DistrictName, shippingAddress.Address, shippingAddress.Mobile, shippingAddress.Phone, shippingAddress.Email, paymentMethod.ID, paymentMethod.Name, express.ID, express.Name, express.Freight, coupon.ID, coupon.Name, coupon.Value, DateTime.Now, orderItems)); }
private CartDTO ConvertToCart(Cart cart, SellingPriceCart sellingPriceCart) { return(new CartDTO { CartItemGroups = sellingPriceCart.FullGroups.Select(ent => new CartItemGroupDTO { CartItems = ent.CartItems.Select(e => ConvertToCartItem(e, cart.GetCartItem(e.ProductId))).ToArray(), ReducePrice = ent.ReducePrice }).ToArray(), CartItems = sellingPriceCart.CartItems.Select(ent => ConvertToCartItem(ent, cart.GetCartItem(ent.ProductId))).ToArray() }); }