public async Task <bool> CancelReservation(CancelReservationDTO cancelReservation)
        {
            var reservation = await _reservationRepository.FindOneByIdAsync(cancelReservation.ReservationId);

            if (reservation == null)
            {
                throw new BadRequestException(
                          $"Reservation with id {cancelReservation.ReservationId} was not found");
            }
            if (reservation.ReservationStateId != ReservationStates.NotActive)
            {
                throw new BadRequestException("Reservation can no longer be canceled");
            }
            var host = await _userReservationRepository.GetHostByReservationId(reservation.Id);

            if (host == null)
            {
                throw new BadRequestException("Host must be present in reservation");
            }
            if (host.Id != cancelReservation.hostID)
            {
                throw new BadRequestException("You must be the host of the reservation");
            }

            reservation.ReservationStateId = ReservationStates.Canceled;
            await _reservationRepository.UpdateOneAsync(reservation);

            return(true);
        }
        public async Task <IActionResult> GetAllNonActiveReservationsByUserIdAsync([FromBody] CancelReservationDTO cancelReservationDTO)
        {
            try
            {
                var response = await _reservationService.CancelReservation(cancelReservationDTO);

                return(Ok(response));
            }
            catch (Exception e)
            {
                return(HttpExceptionMapper.ToHttpActionResult(e));
            }
        }