public ActionResult Save(ReservationFormViewModel reservationFormViewModel) { if (!ModelState.IsValid) { return(View("FinalizeReservation", reservationFormViewModel)); } var reservation = new Reservation() { StartDate = reservationFormViewModel.StartDate, EndDate = reservationFormViewModel.EndDate, GuestId = reservationFormViewModel.GuestId, RoomId = reservationFormViewModel.RoomId, Discount = reservationFormViewModel.Discount, ReservationStatusId = 1 }; var invoice = new Invoice() { Reservation = reservation }; try { Context.Reservations.Add(reservation); Context.Invoices.Add(invoice); Context.SaveChanges(); return(RedirectToAction("ReservationList", "Reservation")); } catch (Exception e) { Logger.Error(e, e.Message); return(View("Error", new HandleErrorInfo(e, "Reservation", "Save"))); } }
public ActionResult SaveGuestDate(ReservationFormViewModel selectDateGuestViewModel) { if (!ModelState.IsValid) { return(View("SelectGuestDate", selectDateGuestViewModel)); } var rangeFromSelect = new TimeRange(selectDateGuestViewModel.StartDate, selectDateGuestViewModel.EndDate); var reservations = Context.Reservations.ToList(); var unavailableRoomsId = reservations .Where(r => rangeFromSelect.IntersectsWith(new TimeRange(r.StartDate, r.EndDate, true))) .Select(r => r.RoomId).ToList(); var availableRooms = Context.Rooms.Where(ar => !unavailableRoomsId.Contains(ar.Id)); var viewModel = new ReservationFormViewModel() { StartDate = selectDateGuestViewModel.StartDate, EndDate = selectDateGuestViewModel.EndDate, GuestId = selectDateGuestViewModel.GuestId, Rooms = availableRooms }; return(View("FinalizeReservation", viewModel)); }
public ActionResult New() { var guests = Context.Guests.ToList(); var viewModel = new ReservationFormViewModel() { Guests = guests, }; return(View("SelectGuestDate", viewModel)); }
public ActionResult FinalizeReservation(ReservationFormViewModel viewModel) { if (!ModelState.IsValid) { return(View("FinalizeReservation", viewModel)); } var reservationFormViewModel = new ReservationFormViewModel() { StartDate = viewModel.StartDate, EndDate = viewModel.EndDate, RoomId = viewModel.RoomId, Discount = viewModel.Discount, GuestId = viewModel.GuestId }; return(RedirectToAction("Save", reservationFormViewModel)); }
public virtual ActionResult AddNew() { return(View(ReservationFormViewModel.Create())); }