public ResultOutput AddOrder(Order_Input order_Input) { try { int orderId = 0; if (order_Input.services.Count == 0) { return(new ResultOutput(ResponseCode.NotFound, "Services not Found")); } var executionStrategy = _context.Database.CreateExecutionStrategy(); executionStrategy.Execute(() => { var trans = _context.Database.BeginTransaction(); Orders order = new Orders { name = order_Input.name.Trim(), phoneNumber = order_Input.phoneNumber.Trim(), email = order_Input.email.Trim(), addressFrom = order_Input.addressFrom.Trim(), addressTo = order_Input.addressTo.Trim(), notes = order_Input.notes.Trim(), creationDate = DateTime.Now, updatedDate = DateTime.Now }; _context.Orders.Add(order); _context.SaveChanges(); orderId = order.id; if (order_Input.services != null) { foreach (var ordSer in order_Input.services) { Order_Service order_Service = new Order_Service { orderId = orderId, serviceId = ordSer.serviceId, executeServiceDate = ordSer.executeServiceDate, creationDate = DateTime.Now, updatedDate = DateTime.Now }; _context.Order_Service.Add(order_Service); _context.SaveChanges(); } } trans.Commit(); }); return(GetOrderById(orderId)); } catch (Exception ex) { return(new ResultOutput(ResponseCode.Error, ex.ToString())); } }
public ResultOutput EditOrder(int id, Order_Input order_Input) { try { var order = _context.Orders.Find(id); if (order == null) { return(new ResultOutput(ResponseCode.NotFound, "Order not Found")); } if (order_Input.services.Count == 0) { return(new ResultOutput(ResponseCode.BadRequest, "Services not Found")); } var executionStrategy = _context.Database.CreateExecutionStrategy(); executionStrategy.Execute(() => { var trans = _context.Database.BeginTransaction(); order.name = order_Input.name.Trim(); order.phoneNumber = order_Input.phoneNumber.Trim(); order.email = order_Input.email.Trim(); order.addressFrom = order_Input.addressFrom.Trim(); order.addressTo = order_Input.addressTo.Trim(); order.notes = order_Input.notes.Trim(); order.updatedDate = DateTime.Now; _context.Entry(order).State = EntityState.Modified; _context.SaveChanges(); if (order_Input.services != null) { List <int> OrdSerIds = new List <int>(); foreach (var order_Service in order_Input.services) { var ordSer = _context.Order_Service.FirstOrDefault(o => o.orderId == id && o.serviceId == order_Service.serviceId); if (ordSer != null) { OrdSerIds.Add(ordSer.id); ordSer.executeServiceDate = order_Service.executeServiceDate; ordSer.updatedDate = DateTime.Now; _context.Entry(ordSer).State = EntityState.Modified; _context.SaveChanges(); } else { Order_Service ordService = new Order_Service { orderId = id, serviceId = order_Service.serviceId, executeServiceDate = order_Service.executeServiceDate, creationDate = DateTime.Now, updatedDate = DateTime.Now }; _context.Order_Service.Add(ordService); _context.SaveChanges(); OrdSerIds.Add(ordService.id); } } if (OrdSerIds.Count > 0) { var order_Services = _context.Order_Service.Where(p => !OrdSerIds.Contains(p.id) && p.orderId == id).ToList(); if (order_Services != null) { foreach (var item in order_Services) { _context.Order_Service.Remove(item); _context.SaveChanges(); } } } } trans.Commit(); }); return(GetOrderById(id)); } catch (Exception ex) { return(new ResultOutput(ResponseCode.Error, ex.ToString())); } }
public ResultOutput EditOrder(int id, [FromBody] Order_Input order_Input) { return(_orderHelper.EditOrder(id, order_Input)); }
public ResultOutput AddOrder([FromBody] Order_Input order_Input) { return(_orderHelper.AddOrder(order_Input)); }