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 }); }
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); }
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 }; } }