public ActionResult CreateOrder(Orders newOrderObj)
        {
            var newOrder = _ordersRepo.CreateOrder(newOrderObj);

            if (newOrder == null)
            {
                return(NotFound());
            }
            // For each object in the array of objects called OrderLines
            // Each object has productId and Quantity
            foreach (var orderItem in newOrderObj.OrderLines)
            {
                // Gets all the information for a single product since an ID is passed in
                var productItem = _productsRepo.GetProductById(orderItem.ProductId);
                // For the OrdersLine table
                orderItem.OrdersId = newOrder.Id;
                // Also for the OrdersLine table
                orderItem.UnitPrice = productItem.UnitPrice;
                // Now that the orderItem has all the required 4 fields we're passing it into a method that inserts it into the OrdersLine table
                var orderLineItem = _ordersRepo.CreateOrderLines(orderItem);
            }


            return(Created($"api/orders/{newOrder.Id}", newOrder));
        }
        public ActionResult CreatePromoCode()
        {
            var promoCode = OrdersRepository.CreateOrder();

            Session["PromoCode"] = promoCode;
            return(RedirectToAction("Index", "Home"));
        }
        public void IsOrderExist()
        {
            var order = OrdersRepository.CreateOrder();

            Assert.IsTrue(OrdersRepository.IsOrderExist(order));
            DeleteOrder(order);
            Assert.IsFalse(OrdersRepository.IsOrderExist(order));
        }
Beispiel #4
0
        public async Task <ProductsOrder> CreateProductsOrder(ProductsOrder order, string cartId)
        {
            if (!ValidateOrder(order))
            {
                throw new ArgumentException("Invalid order");
            }

            var baseOrder = CreateOrder(order);

            baseOrder.Items = order.Items?.Select(item => item.ToDto());

            var mutationResult = await _repository.CreateOrder(baseOrder);

            if (mutationResult == null)
            {
                return(default);
        public void OrderCreating()
        {
            var order = new CreatingOrder()
            {
                CustomerID = "QUICK",
                EmployeeID = 1,
            };

            int orderId = repo.CreateOrder(order);
            var orders  = new List <CreatingOrder>();

            using (var connection = factory.CreateConnection())
            {
                connection.ConnectionString = connectionString;
                var command = connection.CreateCommand();
                command.CommandText =
                    "SELECT o.CustomerID, o.EmployeeID " +
                    "FROM Northwind.Orders AS o " +
                    "WHERE o.OrderID = " + orderId;

                connection.Open();

                using (IDataReader reader = command.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        orders.Add(new CreatingOrder()
                        {
                            CustomerID = (string)reader["CustomerID"],
                            EmployeeID = (int)reader["EmployeeID"]
                        });
                    }
                }

                command.CommandText =
                    "DELETE FROM Northwind.Orders " +
                    "WHERE OrderID = " + orderId;

                command.ExecuteNonQuery();
            }

            Assert.AreEqual(orders.Count, 1, "Неверное количество созданных элементов!");
            Assert.AreEqual(orders[0].CustomerID, order.CustomerID, "Получен неверный CustomerID");
            Assert.AreEqual(orders[0].EmployeeID, order.EmployeeID, "Получен неверный EmployeeID");
        }
        public ActionResult EditOrder(Models.CreatingOrderViewModel order)
        {
            var rep = new OrdersRepository();

            Mapper.Initialize(cfg => cfg.CreateMap <Models.CreatingOrderViewModel,
                                                    DataAccessLayer.Models.CreatingOrder>());
            var creatingOrder = Mapper.Map <Models.CreatingOrderViewModel,
                                            DataAccessLayer.Models.CreatingOrder>(order);

            if (!ModelState.IsValid)
            {
                return(RedirectToAction("ErrorMessage", "Home", new { message = Resources.OrderEditError }));
            }

            var minDate = DateTime.Parse("01.01.1990");
            var maxDate = DateTime.Parse("01.01.9999");

            if (order.OrderDate < minDate || order.OrderDate > maxDate)
            {
                return(RedirectToAction("ErrorMessage", "Home", new { message = Resources.OrderEditError }));
            }

            if (order.ShippedDate < minDate || order.ShippedDate > maxDate)
            {
                return(RedirectToAction("ErrorMessage", "Home", new { message = Resources.OrderEditError }));
            }

            if (order.RequiredDate < minDate || order.RequiredDate > maxDate)
            {
                return(RedirectToAction("ErrorMessage", "Home", new { message = Resources.OrderEditError }));
            }

            if (order.IsNew)
            {
                rep.CreateOrder(creatingOrder);
            }
            else
            {
                rep.UpdateOrder(creatingOrder);
            }

            return(RedirectToAction("Index"));
        }
Beispiel #7
0
 public void HandleCheckout(OrderForm form, OrderValidationResult validationResult)
 {
     ordersRepository.CreateOrder(form.Id, form.Name, form.Name, form.Address, form.Phone, form.Email);
 }