public IActionResult SearchReservation(ReservationSearchViewModel rsvm) { if (ModelState.IsValid) { var reservationContact = _reservationContactRepo.FindByEmail(rsvm.Email); if (reservationContact != null) { var reservation = _reservationRepo.GetReservation((long)rsvm.ConfirmationNumber, reservationContact.Id); if (reservation != null) { reservation.ReservationContact = reservationContact; var reservationViewModel = Mapper.Map <ReservationViewModel>(reservation); reservationViewModel.VehicleSetup.Vehicle = _vehicleRepo.GetVehicleById(reservationViewModel.VehicleSetup.VehicleId); reservationViewModel.ContactSetup = Mapper.Map <ReservationContactViewModel>(reservationContact); _sessionService.SaveToSession(HttpContext, reservationViewModel, ReservationViewModel.SessionKey); return(RedirectToAction("Update", "Reservation")); } ModelState.AddModelError(string.Empty, "Reservation Could not be Found"); } else { ModelState.AddModelError(string.Empty, "Reservation Could not be Found"); } } return(View(rsvm)); }
public IActionResult Search(ReservationSearchViewModel model) { if (model.SearchBy == "RoomType") { model.Reservations = context.Reservations.Where(u => u.Room.Type == (RoomType)int.Parse(model.Value)) .ToList() .OrderBy(u => u.Room.Number) .ThenBy(u => u.Room.Type) .Select(u => new ReservationViewModel(u.Id, u.Room.Number, u.Room.Type, u.CheckInDate, u.CheckOutDate, u.Price)) .ToList(); } else if (model.SearchBy == "RoomNumber") { model.Reservations = context.Reservations.Where(u => u.Room.Number == int.Parse(model.Value)) .ToList() .OrderBy(u => u.Room.Number) .ThenBy(u => u.Room.Type) .Select(u => new ReservationViewModel(u.Id, u.Room.Number, u.Room.Type, u.CheckInDate, u.CheckOutDate, u.Price)) .ToList(); } else { model.Reservations = context.Reservations .OrderBy(u => u.Room.Number) .ThenBy(u => u.Room.Type) .Select(u => new ReservationViewModel(u.Id, u.Room.Number, u.Room.Type, u.CheckInDate, u.CheckOutDate, u.Price)) .ToList(); } return(View(model)); }