public static OrderOutputModel ToOutputModel(Order model) { var outputModel = new OrderOutputModel() { orderItemOutput = new List <OrderItemOutputModel>() }; foreach (Order_Product item in model.OrderItems) { var orderItemOutput = new OrderItemOutputModel() { Brand = item.Product.Brand, Model = item.Product.Model, LocalPrice = item.LocalPrice, Value = item.Value }; outputModel.orderItemOutput.Add(orderItemOutput); outputModel.LocalAmount += item.LocalPrice; } outputModel.Id = (int)model.Id; outputModel.RepName = model.RepName; outputModel.OrderDate = model.OrderDate.ToString(@"dd.MM.yyyy"); outputModel.OrderTime = model.OrderDate.ToString(@"T"); outputModel.ValuteId = model.Valute.Id; return(outputModel); }
protected void DeepEqualForOrder(OrderInputModel inputModel, OrderOutputModel expOutputModel) { Assert.NotNull(expOutputModel.Date); Assert.NotNull(expOutputModel.WarehouseName); Assert.NotNull(expOutputModel.OrderDetailsOutput); var model = mapper.Map <Order>(inputModel); var outputModel = mapper.Map <OrderOutputModel>(model); Assert.IsTrue(outputModel.Equals(expOutputModel)); }
private void CreateNewOrder(OrderOutputModel model, string userId, Cart cart) { var order = new Order { CarrierId = model.CarrierId, ShippingInformationId = model.ShippingInformationId, OrderStatus = OrderStatus.AwatingForPaymentConfirmation, CreatedOnUtc = DateTime.UtcNow, UpdatedOnUtc = DateTime.UtcNow, CustomerId = userId, }; this.ShopData.Orders.Add(order); foreach (var item in cart.CartItems) { order.OrderItems.Add(new OrderItem { OrderedProductId = item.OrderedProductId, Quantity = item.Quantity }); } this.ShopData.SaveChanges(); }
public ActionResult Checkout(OrderOutputModel model) { var userId = this.User.Identity.GetUserId(); var cart = this.ShopData.ShoppingCarts.All().FirstOrDefault(c => c.CustomerId == userId); if (cart == null && cart.CartItems.Count == 0) { return(this.View("Empty")); } if (this.ModelState.IsValid) { this.CreateNewOrder(model, userId, cart); this.ShopData.SaveChanges(); this.EmptyCart(cart.Id); } else { return(this.View(model)); } return(this.View("Success")); }