public CreateCarryOutResponse CreateCarryOut(CreateCarryOutRequest request) { var response = new CreateCarryOutResponse { IsSuccessful = false, Message = "" }; try { var customer = _context.Customers .Where(x => x.Id == request.Customer.Id) .Where(x => x.FirstName == request.Customer.FirstName) .Where(x => x.LastName == request.Customer.LastName) .FirstOrDefault(); var maxBundleId = _context.CarryOuts .Max(x => x.BundleId); maxBundleId++; if (customer != null) { var carryOutItemsToSubmit = _context.CarryOuts .Include(x => x.Customer) .Where(x => x.Customer == customer) .Where(x => x.SubmissionTime == null) .ToList(); _context.UpdateRange(carryOutItemsToSubmit); foreach (var item in carryOutItemsToSubmit) { item.SubmissionTime = DateTime.Now; item.BundleId = maxBundleId; } _context.SaveChanges(); } response.IsSuccessful = true; } catch (Exception ex) { response.Message = ex.ToString(); } return(response); }
public IActionResult CreateCarryOut([FromBody] CustomerBody body) { var request = new CreateCarryOutRequest { Customer = body }; var response = _carryOutService.CreateCarryOut(request); if (response.IsSuccessful) { return(Ok()); } else { return(BadRequest(response.Message)); } }