Пример #1
0
        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);
        }
Пример #2
0
        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));
        }
Пример #3
0
        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();
        }
Пример #4
0
        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"));
        }