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)); } }