Exemple #1
0
        public OrdersResponse addOrder(int idCustomer, AddOrderRequest req)
        {
            if (!context.Customers.Any(c => c.IdCustomer == idCustomer))
            {
                return new OrdersResponse
                       {
                           orders = null,
                           Error  = "No customer with such id"
                       }
            }
            ;
            foreach (ConfectioneryDTO con in req.Confectionery)
            {
                if (!context.Confectioneries.Any(c => c.Name == con.Name))
                {
                    return new OrdersResponse
                           {
                               orders = null,
                               Error  = "no such confectionery as " + con.Name
                           }
                }
                ;
            }


            Order newOrder = new Order
            {
                DateAccepted = req.DateAccepted,
                DateFinished = DateTime.Now,
                Notes        = req.Notes,
                IdEmployee   = 1,
                IdCustomer   = idCustomer
            };

            context.Add <Order>(newOrder);
            context.SaveChanges();

            foreach (ConfectioneryDTO con in req.Confectionery)
            {
                Confectionery_Order newC_Order = new Confectionery_Order
                {
                    IdOrder         = context.Orders.Max(o => o.IdOrder),
                    IdConfectionery = context.Confectioneries.Where(c => c.Name == con.Name).First().IdConfectionery,
                    Quantity        = con.Quantity,
                    Notes           = con.Notes
                };
                context.Add <Confectionery_Order>(newC_Order);
                context.SaveChanges();
            }

            return(getOrders(null));
        }
    }
}