Пример #1
0
        public AddOrderResponse AddOrder(int id, AddOrderRequest request)
        {
            var exists = _orderDbContext.Customers.Any(c => c.IdClient.Equals(id));

            if (!exists)
            {
                return(null);
            }

            // taking random employee to perform the order
            Random rand  = new Random();
            int    num   = rand.Next(0, _orderDbContext.Employees.Count() - 1);
            var    order = new Order()
            {
                DataAccepted = request.DateAccepted,
                idClient     = id,
                idEmployee   = _orderDbContext.Employees.Skip(num).Take(1).First().idEmployee,
                Notes        = request.Notes
            };

            _orderDbContext.Add(order);
            _orderDbContext.SaveChanges();


            // foreach in request
            var confExists = false;

            foreach (var cnf in request.Confectionery)
            {
                //checking if such product exists
                confExists = _orderDbContext.Confectioneries.Any(c => c.Name.Equals(cnf.Name));
                if (!confExists)
                {
                    return(null);
                }

                var confectioneryId = _orderDbContext.Confectioneries.Where(c => c.Name.Equals(cnf.Name))
                                      .Select(c => c.IdConfectionery).FirstOrDefault();
                var conf_order = new ConfectioneryOrder()
                {
                    IdConfection = confectioneryId,
                    IdOrder      = order.idOrder,
                    Notes        = cnf.Notes,
                    Quantity     = cnf.Quantity
                };
                _orderDbContext.Add(conf_order);
                _orderDbContext.SaveChanges();
            }


            return(new AddOrderResponse
            {
                IdOrder = order.idOrder,
                Confectionery = request.Confectionery
            });
        }
Пример #2
0
        private OrderItemResponse buildOrderItemResponse(ConfectioneryOrder confOrder)
        {
            Confectionery     confectionery = _context.Confectioneries.Where(c => c.IdConfecti == confOrder.IdConfection).First();
            OrderItemResponse response      = new OrderItemResponse()
            {
                ConfectioneryName = confectionery.Name,
                Type     = confectionery.Type,
                Quantity = confOrder.Quantity
            };

            return(response);
        }
Пример #3
0
 private void addOrderItemsToDb(AddOrderRequest request, Order order)
 {
     foreach (var item in request.RequestedItems)
     {
         var confectionery = _context.Confectioneries.Where(c => c.IdConfecti == item.ConfectioneryId).First();
         var confOrder     = new ConfectioneryOrder()
         {
             Order         = order,
             Notes         = item.Notes,
             Quantity      = item.Quantity,
             Confectionery = confectionery
         };
     }
 }