コード例 #1
0
 public IActionResult CancelReservation(string id)
 {
     try
     {
         Reservation reservation = _reservationService.GetReservation(id);
         if (reservation == null)
         {
             return(NotFound("Reservation with id not found"));
         }
         Account acc = reservation.Account;
         // User can cancel only his resrvations
         if (acc.Id != HttpContext.GetUserId())
         {
             return(BadRequest("You don't own reservation you are trying to cancel"));
         }
         if (_reservationService.CancelReservation(id, reservation.Account.Role.Name))
         {
             return(StatusCode(StatusCodes.Status200OK, "Successfully cancelled"));
         }
         return(NotFound("Reservation with id not found"));
     }
     catch (Exception ex)
     {
         return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message));
     }
 }