public async Task ModifyReservation(int id, ReservationModModel model) { if (model.TimeFrom != null && model.TimeTo != null && model.TimeFrom >= model.TimeTo) { throw new RestaurantBadRequestException("A foglalás végének későbbre kell esnie, mint a kezdete!"); } if ((model.TimeFrom != null && model.TimeFrom < DateTime.Now) || (model.TimeTo != null && model.TimeTo < DateTime.Now)) { throw new RestaurantBadRequestException("A foglalásnak az aktuális időpontnál későbbre kell esnie!"); } if (model.TableId != null) { var table = await DbContext.Tables.FindAsync(model.TableId); if (table == null) { throw new RestaurantNotFoundException("A megadott asztal nem létezik!"); } } var reservation = await DbContext.Reservations.FindAsync(id); if (reservation == null) { throw new RestaurantNotFoundException("Nem létező foglalás!"); } var tableId = model.TableId ?? reservation.TableId; var timeFrom = model.TimeFrom ?? reservation.TimeFrom; var timeTo = model.TimeTo ?? reservation.TimeTo; if (!(await TableService.IsTableAvailable(tableId, timeFrom, timeTo, id))) { throw new RestaurantBadRequestException("A megadott asztal foglalt a választott időintervallumban!"); } reservation.TableId = tableId; reservation.TimeFrom = timeFrom; reservation.TimeTo = timeTo; await DbContext.SaveChangesAsync(); }
public async Task ModifyReservation(int id, ReservationModModel reservationModel) => await ReservationService.ModifyReservation(id, reservationModel);