public CreateTableReservationResponse CreateTableReservation(CreateTableReservationRequest request) { var response = new CreateTableReservationResponse { IsSuccessful = false, Message = "" }; try { var table = _context.TableReservations .Include(x => x.Customer) .FirstOrDefault(x => x.Id == request.TableId); if (table != null) { // Start tracking entity. _context.Update(table); if (table.Customer == null) { // Look up the customer. var customer = _context.Customers .FirstOrDefault(x => x.Id == request.CustomerId); table.Customer = customer; table.PartySize = request.PartySize; table.SubmissionTime = DateTime.Now; _context.SaveChanges(); response.IsSuccessful = true; response.Message = "Successfully created table reservation."; response.Reservation = table; } } } catch (Exception ex) { response.Message = ex.ToString(); } return(response); }
public IActionResult ReserveTable(ReserveTableBody body) { var request = new CreateTableReservationRequest { CustomerId = body.CustomerId, PartySize = body.PartySize, TableId = body.TableId }; var response = _tableService.CreateTableReservation(request); if (response.IsSuccessful) { return(Ok(response.Reservation)); } else { return(BadRequest()); } }