public AddOrderResponse AddOrder(AddOrderRequest request, int idCustomer) { if (String.IsNullOrEmpty(idCustomer.ToString())) { throw new Exception("you have to provide the id of a customer"); } var customer = _context.Customer.FirstOrDefault(c => c.IdCustomer == idCustomer); if (customer == null) { throw new Exception("there is no such customer"); } for (int i = 0; i < request.Confectionery.Count; i++) { var confect = _context.Confectionery.FirstOrDefault(c => c.Name.Equals(request.Confectionery.ElementAt(i).Name)); if (confect == null) { throw new Exception("there is no such confectionery"); } } Random rand = new Random(); var order = new Order() { // IdOrder = _context.Order.Max(o=>o.IdOrder) +1, DateAccepted = request.DateAccepted, DateFinished = request.DateAccepted.AddDays(3), Notes = request.Notes, IdCustomer = idCustomer, IdEmployee = rand.Next(1, 3) }; for (int i = 0; i < request.Confectionery.Count; i++) { var confectionery_order = new Confectionery_Order() { // IdOrder = _context.Order.Max(o => o.IdOrder) + 1, IdConfectionery = _context.Confectionery.FirstOrDefault(c => c.Name.Equals(request.Confectionery.ElementAt(i).Name)).IdConfectionery, Quantity = request.Confectionery.ElementAt(i).Quantity, Notes = request.Confectionery.ElementAt(i).Notes }; _context.Confectionery_Order.Add(confectionery_order); } _context.Order.Add(order); // _context.SaveChanges(); var response = new AddOrderResponse() { Notes = order.Notes, DateFinished = order.DateFinished, Surname = customer.Surname, IdEmployee = order.IdEmployee }; return(response); }
public IActionResult newOrder(int id, NewOrderRequest req) { var res = _dbcontext.Customer.Any(e => e.IdClient == id); if (res == true) { var result = _dbcontext.Confectionery.Where(x => req.Confectionery.Select(e => e.Name).Contains(x.Name)).Any(); _dbcontext.Database.BeginTransaction(); if (result == true) { try { var newOrd = new Order { DateAccepted = req.DateAccepted, DateFinished = req.DateAccepted.AddDays(7), Notes = req.Notes, IdClient = id, IdEmployee = 1 }; _dbcontext.Order.Add(newOrd); _dbcontext.SaveChanges(); for (int i = 0; i < req.Confectionery.Count(); i++) { var add = new Confectionery_Order { IdConfectionery = _dbcontext.Confectionery.Where(e => e.Name == req.Confectionery.ElementAt(i).Name) .Select(e => e.IdConfectionery).FirstOrDefault(), IdOrder = _dbcontext.Order.Max(e => e.IdOrder), Quantity = Int32.Parse(req.Confectionery.ElementAt(i).Quantity), Notes = req.Confectionery.ElementAt(i).Notes }; _dbcontext.Confectionery_Order.Add(add); _dbcontext.SaveChanges(); } _dbcontext.Database.CommitTransaction(); return(Ok("Added succesfully!")); } catch (Exception e) { _dbcontext.Database.RollbackTransaction(); return(BadRequest("there is a problem")); } } else { return(BadRequest("dont have this product")); } } else { return(NotFound("There is no client with id " + id)); } }
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)); } } }
public IActionResult addClient(String clientid) { ClientStructure enter = new ClientStructure { DateAccepted = DateTime.Parse("2020-06-01"), Notes = "Please, prepare for next friday", Quantity = 1, Name = "Cake for birthday", ConNotes = "Write Happy birthday on the cake" }; var exc = _context.Customers.Find(clientid); if (exc is null) { return(NotFound(" this Client does not exist in the database")); } var od = new Order { DateAccepted = enter.DateAccepted, Notes = enter.Notes, }; var con_od = new Confectionery_Order { Quantity = enter.Quantity, Notes = enter.ConNotes }; var con = new Confectionery { Name = enter.Name }; _context.Orders.Add(od); _context.Confectioneries.Add(con); _context.Confectionery_Orders.Add(con_od); _context.SaveChanges(); return(Ok("Order for the client has been successfully added")); }
public string PlaceOrder(int customerId, OrderRequest request) { if (_context.Customer.Any(e => e.IdClient == customerId)) { if (_context.Confectionery.Any(e => request.Confectionery.Select(c => c.Name).Contains(e.Name))) { _context.Database.BeginTransaction(); var IdOrder = _context.Order.Max(e => e.IdOrder) + 1; var l = _context.Employee.Select(e => e.IdEmployee).ToList(); var order = new Order { IdOrder = IdOrder, DateAccepted = request.DateAccepted, DateFinished = DateTime.Now.AddMonths(1), Notes = request.Notes, IdClient = customerId, IdEmployee = l[rnd.Next(l.Count)] }; _context.Order.Add(order); _context.SaveChanges(); foreach (var c in request.Confectionery) { var confectioneryId = _context.Confectionery.First(e => e.Name == c.Name).IdConfectionery; var confectionery_order = new Confectionery_Order() { IdConfectionary = confectioneryId, IdOrder = order.IdOrder, quantity = c.Quantity, Notes = c.Notes }; _context.Confectionery_order.Add(confectionery_order); _context.SaveChanges(); } _context.Database.CommitTransaction(); return("Added order and confectionery successfuly"); } } return("Didn't add"); }
public void AddOrder(int idCustomer, NewOrderInfo orderInfo) { int idConfectionery = _context.Confectionery.Where(c => c.Name == orderInfo.Confectionery.Name) .Select(c => c.IdConfectionery) .FirstOrDefault(); if (idConfectionery == 0) { throw new ConfectioneryNameNotFoundException(); } if (!_context.Customer.Any(e => e.IdCustomer == idCustomer)) { throw new CustomerNotFoundException(); } Random random = new Random(); Order newOrder = new Order() { IdOrder = _context.Order.Max(o => o.IdOrder) + 1, IdCustomer = idCustomer, IdEmployee = random.Next(1, _context.Employee.Max(e => e.IdEmployee)), DateAccepted = orderInfo.DateAccepted, DateFinished = orderInfo.DateAccepted, Notes = orderInfo.Notes, }; Confectionery_Order newConfectionery_Order = new Confectionery_Order() { IdOrder = newOrder.IdOrder, IdConfectionery = idConfectionery, Quantity = orderInfo.Confectionery.Quantity, Notes = orderInfo.Confectionery.Notes }; _context.Order.Add(newOrder); _context.Confectionery_Order.Add(newConfectionery_Order); _context.SaveChanges(); }