Пример #1
0
        public IActionResult Create(OrderViewModel orderViewModel)
        {
            // if (!ModelState.IsValid)
            // {
            //     throw new Exception("Controller Error!");
            // }
            var currentLocation = _storeRepo.GetStoreById(orderViewModel.Store);
            var currentCustomer = _customerRepo.GetCustomerById(orderViewModel.Customer);
            var result          = new Order
            {
                Store           = currentLocation,
                Customer        = currentCustomer,
                Date            = DateTime.Now,
                OrderTotalPrice = orderViewModel.Total
            };

            foreach (var orderItem in orderViewModel.OrderItems)
            {
                var animal  = _productRepo.GetProductById(orderItem.ProductId);
                var newItem = new StoreLibrary.OrderItem(0, animal, orderItem.Quantity, orderItem.Total);
                result.OrderItems.Add(newItem);
            }
            var resultOrder = _orderRepo.ReturnOrder(result);

            return(RedirectToAction("AddOrderItem", new { Id = resultOrder.OrderId }));
        }
Пример #2
0
        public List <Order> GetOrdersByStore(Store store)
        {
            using var context = new project0Context(_contextOptions);
            var custRepo = new CustomerRepo(_contextOptions);
            var dbOrders = context.Orders
                           .Where(o => o.StoreId == store.StoreId)
                           .Include(o => o.Store)
                           .Include(o => o.Customer)
                           .ToList();
            var result = new List <Order>();

            foreach (var order in dbOrders)
            {
                var newLocation = _storeRepo.GetStoreById(order.StoreId);
                var newCust     = _customerRepo.GetCustomerById(order.CustomerId);
                var newOrder    = new Order()
                {
                    OrderId         = order.OrderId,
                    Store           = newLocation,
                    Customer        = newCust,
                    OrderTotalPrice = order.OrderTotal
                };
                newOrder.OrderId = order.OrderId;
                newOrder.Date    = order.Date;
                var newOrderItems = GetOrderItemsByOrder(newOrder);
                foreach (var orderItem in newOrderItems)
                {
                    newOrder.OrderItems.Add(orderItem);
                }
                result.Add(newOrder);
            }
            return(result);
        }
Пример #3
0
        public List <Order> GetAllOrders()
        {
            using var context = new project0Context(_contextOptions);
            var dbOrders = context.Orders
                           .Include(o => o.Store)
                           .Include(o => o.Customer)
                           .ToList();
            var result = new List <Order>();

            foreach (var order in dbOrders)
            {
                var newStore = _storeRepo.GetStoreById(order.StoreId);
                var newCust  = _customerRepo.GetCustomerById(order.CustomerId);
                var newOrder = new Order()
                {
                    OrderId         = order.OrderId,
                    Store           = newStore,
                    Customer        = newCust,
                    OrderTotalPrice = order.OrderTotal,
                    Date            = order.Date
                };
                result.Add(newOrder);
            }
            ;
            return(result);
        }
Пример #4
0
        public List <OrderItem> GetOrderItemsByOrder(Order order)
        {
            using var context = new project0Context(_contextOptions);
            var dbOrderItems = context.OrderItems
                               .Where(o => o.OrderId == order.OrderId)
                               .Include(o => o.Product)
                               .ToList();
            var result = new List <OrderItem>();

            foreach (var orderItem in dbOrderItems)
            {
                var newProduct = new Product()
                {
                    ProductId   = orderItem.Product.ProductId,
                    ProductName = orderItem.Product.ProductName,
                    Price       = orderItem.Product.Price
                };
                var newOrderItem = new OrderItem(orderItem.OrderId, newProduct, orderItem.Quantity, orderItem.Total)
                {
                    ItemId = orderItem.ItemId
                };
                result.Add(newOrderItem);
            }
            return(result);
        }
Пример #5
0
        public Order GetOrderById(int id)
        {
            using var context = new project0Context(_contextOptions);
            var dbOrder = context.Orders
                          .Where(l => l.OrderId == id)
                          .FirstOrDefault();

            if (dbOrder == null)
            {
                return(null);
            }
            var result = new Order()
            {
                OrderId         = dbOrder.OrderId,
                Store           = _storeRepo.GetStoreById(dbOrder.StoreId),
                Customer        = _customerRepo.GetCustomerById(dbOrder.CustomerId),
                OrderTotalPrice = dbOrder.OrderTotal,
                Date            = dbOrder.Date
            };
            var orderItems = GetOrderItemsByOrder(result);

            foreach (var thing in orderItems)
            {
                result.OrderItems.Add(thing);
            }
            return(result);
        }
Пример #6
0
        public void DeleteOrder(Order order)
        {
            using var context = new project0Context(_contextOptions);
            var dbOrder = context.Orders
                          .Where(i => i.OrderId == order.OrderId)
                          .FirstOrDefault();

            context.Remove(dbOrder);
            context.SaveChanges();
        }
Пример #7
0
        public void UpdateOrder(Order order)
        {
            using var context = new project0Context(_contextOptions);
            var dbOrder = context.Orders
                          .Where(o => o.OrderId == order.OrderId)
                          .FirstOrDefault();

            dbOrder.OrderTotal = order.OrderTotalPrice;
            context.SaveChanges();
        }
Пример #8
0
        public void CreateOrder(Order order)
        {
            using var context = new project0Context(_contextOptions);
            var orderEntry = new Models.Order()
            {
                CustomerId = order.Customer.CustomerId,
                StoreId    = order.Store.StoreId,
                Date       = order.Date,
                OrderTotal = order.OrderTotalPrice
            };

            context.Orders.Add(orderEntry);
            context.SaveChanges();
            foreach (var orderItem in order.OrderItems)
            {
                orderItem.OrderId = orderEntry.OrderId;
                CreateOrderItem(orderItem);
            }
            context.SaveChanges();
        }