public IHttpActionResult GetReservationRequests(int hostId, Helper.Enums.ReservationStatus status) { if (CheckRole("Host")) { return(StatusCode(HttpStatusCode.Unauthorized)); } List <ReservationBM> reservationInfo = new List <ReservationBM>(); List <Apartman> apps = context.Apartmans.Where(x => x.HostID == hostId && x.Deleted != true).ToList(); if (apps != null) { foreach (var apartment in apps) { if (apartment.Reservations != null) { foreach (var reservation in apartment.Reservations.Where(x => x.Stauts == status)) { ReservationBM reservationBM = GetReservationInfo(reservation); reservationInfo.Add(reservationBM); } } } } return(Ok(reservationInfo)); }
public IHttpActionResult ChageReservationRequests(int reservationId, Helper.Enums.ReservationStatus status) { if (CheckRole("Host")) { if (CheckRole("Guest")) { return(StatusCode(HttpStatusCode.Unauthorized)); } } Reservation reservation = context.Reservations.Where(x => x.ID == reservationId && x.Deleted == false).FirstOrDefault(); if (reservation == null) { return(NotFound()); } DateTime currentDate = reservation.SingUpDate; if (status == ReservationStatus.Rejected || status == ReservationStatus.Canceled) { for (int i = 0; i < reservation.NumberOfNights; i++) { DatesModel datesModel = context.DatesModels.Where(x => x.ApartmanID == reservation.ApartmanID && x.RentDate == currentDate && x.Deleted == false).FirstOrDefault(); if (datesModel == null) { continue; } datesModel.Available = true; context.SaveChanges(); currentDate = currentDate.AddDays(1); } } if (status == ReservationStatus.Done) { DateTime checkIfDateIsDone = reservation.SingUpDate.AddDays(reservation.NumberOfNights); if (checkIfDateIsDone >= DateTime.Now) { return(Ok("Date is not done")); } } reservation.Stauts = status; context.SaveChanges(); return(Ok()); }
public IHttpActionResult GetGuestReservationRequest(int guestId, Helper.Enums.ReservationStatus status) { if (CheckRole("Guest")) { return(StatusCode(HttpStatusCode.Unauthorized)); } List <ReservationBM> reservationInfo = new List <ReservationBM>(); List <Reservation> ress = context.Reservations.Where(x => x.GuestID == guestId && x.Deleted != true).ToList(); if (ress != null && ress.Count > 0) { foreach (var reservation in ress) { if (reservation.Stauts == status) { ReservationBM reservationBM = GetReservationInfo(reservation); reservationInfo.Add(reservationBM); } } } return(Ok(reservationInfo)); }