private void DgvReservation_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            panelDetails.Visible = true;
            string reservationNumber = dgvReservation.SelectedRows[0].Cells[0].Value.ToString();

            ReservationService    service     = new ReservationService();
            ReservationDetailsDTO reservation = service.GetReservationDetails(reservationNumber);

            lblFirstName.Text  = reservation.FirstName;
            lblMiddleName.Text = reservation.MiddleName;
            lblLastName.Text   = reservation.LastName;
            lblAddress.Text    = $"{reservation.StreetAddress}, {reservation.City}, \r\n" +
                                 $"{reservation.ProvinceAbbre}, {reservation.CountryName}," +
                                 $" {reservation.PostalCode}";
            lblHomePhone.Text         = reservation.HomePhone.ToString();
            lblCellPhone.Text         = reservation.CellPhone.ToString();
            lblEmail.Text             = reservation.Email.ToString();
            lblDOB.Text               = reservation.DateOfBirth.ToShortDateString();
            lblCheckIn.Text           = reservation.CheckInDate.ToShortDateString();
            lblCheckOut.Text          = reservation.CheckOutDate.ToShortDateString();
            lblRoomName.Text          = reservation.RoomName.ToString();
            lblRoomNumber.Text        = reservation.RoomNumber.ToString();
            lblAdultNum.Text          = reservation.AdultNumber.ToString();
            lblChildNum.Text          = reservation.ChildNumber.ToString();
            lblBaseRate.Text          = reservation.BaseRate.ToString("C");
            lblTotal.Text             = reservation.Total.ToString("C");
            lblReservationNumber.Text = reservation.ReservationNumber.ToString();
        }
        public async Task <ActionResult <ReservationDetailsDTO> > GetReservationDetails(Guid id)
        {
            try
            {
                if (id == Guid.Empty)
                {
                    return(BadRequest(new { message = "Id is empty" }));
                }
                Reservation reservation = await reservationRepo.GetAsyncByGuidWithAllSubModels(id);

                if (reservation == null)
                {
                    return(RedirectToAction("HandleErrorCode", "Error", new
                    {
                        statusCode = 404,
                        errorMessage = $"Could not find reservations with id {id}"
                    }));
                }



                ReservationDetailsDTO reservationDetailsDTO = mapper.Map <ReservationDetailsDTO>(reservation);

                return(Ok(reservationDetailsDTO));
            }
            catch (Exception ex)
            {
                return(RedirectToAction("HandleErrorCode", "Error", new
                {
                    statusCode = 404,
                    errorMessage = $"Could not find reservations with id {id} : {ex}"
                }));
            }
        }