public ActionResult Reserve() { Reservation r = getReservationById(Int32.Parse(Request.Cookies["Reservation"]["Id"])); ReservationDetailViewModel rvm = new ReservationDetailViewModel(); rvm.reservationId = r.Id.ToString(); RoomType room = new RoomType(); using (var roomcontext = new DataModel.HotelDatabaseContainer()) { room = roomcontext.RoomTypes.Find(r.RoomTypeId); } rvm.roomType = room.type; rvm.roomGuest = room.maxGuests; rvm.guestInfoList = r.guestsInfo.Split(';').ToList(); rvm.checkIn = r.checkIn; rvm.checkOut = r.checkOut; rvm.nights = BizLogic.Utilities.calculateNight(r.checkIn, r.checkOut); rvm.firstName = r.firstName; rvm.lastName = r.lastName; rvm.email = r.email; rvm.phone = r.phone; rvm.address = r.address; rvm.city = r.city; rvm.state = r.state; rvm.zip = r.zip; rvm.bill = r.bill; return(View(rvm)); }
public ActionResult Book(SearchRoomViewModel srm) { Session["start"] = DateTime.Now.ToString(); ReservationDetailViewModel rvm = new ReservationDetailViewModel(); rvm.checkIn = srm.checkIn; rvm.checkOut = srm.checkOut; rvm.nights = BizLogic.Utilities.calculateNight(srm.checkIn, srm.checkOut); rvm.roomId = srm.roomId; rvm.listPrice = srm.listPrice; using (var roomcontext = new DataModel.HotelDatabaseContainer()) { var room = roomcontext.RoomTypes.Find(rvm.roomId); rvm.roomType = room.type; rvm.roomGuest = room.maxGuests; } // Check if user is login Person p = getPersonByEmail(); if (p != null) { rvm.firstName = p.firstName; rvm.lastName = p.lastName; rvm.email = p.email; rvm.phone = p.phone; rvm.address = p.address; rvm.city = p.city; rvm.state = p.state; rvm.zip = p.zip; } return(View(rvm)); }
//Get available Rooms public async Task <IList <RoomDetailViewModel> > GetAvailableRooms(ReservationDetailViewModel currentReservation) { var rooms = _mapper.Map <IList <RoomDetailViewModel> >(await _roomsRepository.AllRooms()).ToList(); //adjust the size to include rooms with range like 3-4 persons and 5-6 persons var size = 0; switch (currentReservation.NumberOfGuests) { case 1: { size = 1; break; } case 2: { size = 2; break; } case 3: { size = 4; break; } case 4: { size = 4; break; } case 5: { size = 6; break; } default: { size = currentReservation.NumberOfGuests; break; } } List <RoomDetailViewModel> availableRooms = rooms.Where(room => ((int)room.RoomSize).Equals(size)) .Where(room => room.EntranceAvailableDate <= currentReservation.CheckInDate) .Where(room => room.Maintenances == null || room.Maintenances.All(maintenance => maintenance.StartDate >= currentReservation.CheckOutDate || maintenance.EndDate <= currentReservation.CheckInDate)) .Where(room => room.Reservations == null || room.Reservations.All(reservation => reservation.CheckInDate >= currentReservation.CheckOutDate || reservation.CheckOutDate <= currentReservation.CheckInDate)) .ToList(); return(availableRooms); }
public ActionResult Check(String reservationId, String email) { Reservation r = getReservationByIdEmail(Int32.Parse(reservationId), email); if (r == null) { // show not found for users System.Windows.Forms.MessageBox.Show( "Cannot Find This Reservation", "Information", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Exclamation, System.Windows.Forms.MessageBoxDefaultButton.Button1); return(RedirectToAction("Index")); } else { ReservationDetailViewModel rvm = new ReservationDetailViewModel(); rvm.reservationId = r.Id.ToString(); RoomType room = new RoomType(); using (var roomcontext = new DataModel.HotelDatabaseContainer()) { room = roomcontext.RoomTypes.Find(r.RoomTypeId); } rvm.roomType = room.type; rvm.roomGuest = room.maxGuests; rvm.guestInfoList = r.guestsInfo.Split(';').ToList(); rvm.checkIn = r.checkIn; rvm.checkOut = r.checkOut; rvm.nights = BizLogic.Utilities.calculateNight(r.checkIn, r.checkOut); rvm.firstName = r.firstName; rvm.lastName = r.lastName; rvm.email = r.email; rvm.phone = r.phone; rvm.address = r.address; rvm.city = r.city; rvm.state = r.state; rvm.zip = r.zip; rvm.bill = r.bill; return(View(rvm)); } }
//Get alternate Rooms public async Task <IList <RoomDetailViewModel> > GetAlternateRooms(ReservationDetailViewModel currentReservation) { var rooms = _mapper.Map <IList <RoomDetailViewModel> >(await _roomsRepository.AllRooms()).ToList(); List <RoomDetailViewModel> alternateRooms = rooms .Where(room => (int)room.RoomSize >= (currentReservation.NumberOfGuests / 2)) .Where(room => room.EntranceAvailableDate <= currentReservation.CheckInDate) .Where(room => room.Maintenances == null || room.Maintenances.All(maintenance => maintenance.StartDate >= currentReservation.CheckOutDate || maintenance.EndDate <= currentReservation.CheckInDate)) .Where(room => room.Reservations == null || room.Reservations.All(reservation => reservation.CheckInDate >= currentReservation.CheckOutDate || reservation.CheckOutDate <= currentReservation.CheckInDate)) .ToList(); var totalBeds = Calculation.CalculateTotalBeds(alternateRooms); if (totalBeds >= currentReservation.NumberOfGuests) { return(alternateRooms); } return(alternateRooms = new List <RoomDetailViewModel> { }); }
public ActionResult DownloadViewPDF(int?id) { ReservationDetailViewModel model = new ReservationDetailViewModel(); //List<StudentViewModel> model = new List<StudentViewModel>(); JohaMeriSQL1Entities entities = new JohaMeriSQL1Entities(); try { List <Studentx> students = entities.Studentx.ToList(); // muodostetaan näkymämalli tietokannan rivien pohjalta foreach (Studentx studetail in students) { ReservationDetailViewModel stu = new ReservationDetailViewModel(); stu.User_id = studetail.User?.FirstOrDefault()?.User_id; stu.UserIdentity = studetail.User?.FirstOrDefault()?.UserIdentity; ViewBag.UserIdentity = new SelectList((from u in db.User select new { User_id = u.User_id, UserIdentity = u.UserIdentity }), "User_id", "UserIdentity", null); //stu.Password = studetail.User?.FirstOrDefault()?.Password; stu.Student_id = studetail.Student_id; stu.FirstNameH = studetail.FirstName; stu.LastNameH = studetail.LastName; stu.Identity = studetail.Identity; stu.Address = studetail.Address; stu.Email = studetail.Email; stu.EnrollmentDateIN = studetail.EnrollmentDateIN; stu.EnrollmentDateOUT = studetail.EnrollmentDateOUT; stu.EnrollmentDateOFF = studetail.EnrollmentDateOFF; stu.Notes = studetail.Notes; stu.CreatedAt = studetail.CreatedAt; stu.LastModifiedAt = studetail.LastModifiedAt; stu.DeletedAt = studetail.DeletedAt; stu.Active = studetail.Active; ViewBag.Active = new SelectList((from a in db.Studentx select new { Student_id = a.Student_id, Active = a.Active }), "Student_id", "Active", null); stu.Information = studetail.Information; stu.Phone_id = studetail.Phone?.FirstOrDefault()?.Phone_id; stu.PhoneNum_1 = studetail.Phone?.FirstOrDefault()?.PhoneNum_1; stu.Post_id = studetail.PostOffices?.FirstOrDefault()?.Post_id; stu.PostalCode = studetail.PostOffices?.FirstOrDefault()?.PostalCode; stu.PostOffice = studetail.PostOffices?.FirstOrDefault()?.PostOffice; stu.StudentGroup_id = studetail.StudentGroup?.StudentGroup_id; stu.StudentGroupName = studetail.StudentGroup?.StudentGroupName; ViewBag.StudentGroupName = new SelectList((from s in db.StudentGroup select new { StudentGroup_id = s.StudentGroup_id, StudentGroupName = s.StudentGroupName }), "StudentGroup_id", "StudentGroupName", null); // muodostetaan Studentx - näkymän alitiedostona asiakkaan palvelutiedot stu.Studentreservations = new List <StudentDetailViewModel>(); foreach (Reservation res in studetail.Reservation.OrderBy(r => r.Start)) { stu.Studentreservations.Add(new StudentDetailViewModel() { Date = res.Date, Start = res.Start, End = res.End, TreatmentName = res.Treatment?.TreatmentName, TreatmentTime = res.Treatment?.TreatmentTime, FirstNameA = res.Customer?.FirstName, LastNameA = res.Customer?.LastName, Notes = res.Note }); } model = stu; } if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Studentx studentx = db.Studentx.Find(id); if (studentx == null) { return(HttpNotFound()); } } finally { entities.Dispose(); } return(new ViewAsPdf(model)); }//
}// // GET: Studentxes/Details/5 public ActionResult Details(int?id) { ReservationDetailViewModel model = new ReservationDetailViewModel(); JohaMeriSQL1Entities entities = new JohaMeriSQL1Entities(); try { Studentx studetail = entities.Studentx.Find(id); if (studetail == null) { return(HttpNotFound()); } // muodostetaan näkymämalli tietokannan rivien pohjalta ReservationDetailViewModel view = new ReservationDetailViewModel(); view.User_id = studetail.User?.FirstOrDefault()?.User_id; view.UserIdentity = studetail.User?.FirstOrDefault()?.UserIdentity; ViewBag.UserIdentity = new SelectList((from u in db.User select new { User_id = u.User_id, UserIdentity = u.UserIdentity }), "User_id", "UserIdentity", null); //stu.Password = studetail.User?.FirstOrDefault()?.Password; view.Student_id = studetail.Student_id; view.FirstNameH = studetail.FirstName; view.LastNameH = studetail.LastName; view.Identity = studetail.Identity; view.Address = studetail.Address; view.Email = studetail.Email; view.EnrollmentDateIN = studetail.EnrollmentDateIN; view.EnrollmentDateOUT = studetail.EnrollmentDateOUT; view.EnrollmentDateOFF = studetail.EnrollmentDateOFF; view.Notes = studetail.Notes; view.CreatedAt = studetail.CreatedAt; view.LastModifiedAt = studetail.LastModifiedAt; view.DeletedAt = studetail.DeletedAt; view.Active = studetail.Active; ViewBag.Active = new SelectList((from a in db.Studentx select new { Student_id = a.Student_id, Active = a.Active }), "Student_id", "Active", null); view.Information = studetail.Information; view.Phone_id = studetail.Phone?.FirstOrDefault()?.Phone_id; view.PhoneNum_1 = studetail.Phone?.FirstOrDefault()?.PhoneNum_1; view.Post_id = studetail.PostOffices?.FirstOrDefault()?.Post_id; view.PostalCode = studetail.PostOffices?.FirstOrDefault()?.PostalCode; view.PostOffice = studetail.PostOffices?.FirstOrDefault()?.PostOffice; view.StudentGroup_id = studetail.StudentGroup?.StudentGroup_id; view.StudentGroupName = studetail.StudentGroup?.StudentGroupName; ViewBag.StudentGroupName = new SelectList((from s in db.StudentGroup select new { StudentGroup_id = s.StudentGroup_id, StudentGroupName = s.StudentGroupName }), "StudentGroup_id", "StudentGroupName", null); // muodostetaan Studentx - näkymän alitiedostona asiakkaan palvelutiedot view.Studentreservations = new List <StudentDetailViewModel>(); foreach (Reservation res in studetail.Reservation.OrderBy(r => r.Start)) { view.Studentreservations.Add(new StudentDetailViewModel() { Date = res.Date, Start = res.Start, End = res.End, TreatmentName = res.Treatment?.TreatmentName, TreatmentTime = res.Treatment?.TreatmentTime, FirstNameA = res.Customer?.FirstName, LastNameA = res.Customer?.LastName, Notes = res.Note }); } model = view; } finally { entities.Dispose(); } return(View(model)); }//details
public ActionResult Reserve(ReservationDetailViewModel rvm) { var current = DateTime.Now; string start = (string)Session["start"]; var startTime = DateTime.Parse(start); if (current.Subtract(startTime) >= TimeSpan.FromMinutes(10)) { ViewBag.message = "Your reservation time has expired. You will be redirected to the home page. Click 'OK' to continue."; return(View()); } else { try { if (ModelState.IsValid) { using (var reservationcontext = new DataModel.HotelDatabaseContainer()) { DataModel.Reservation r = new DataModel.Reservation(); r.checkIn = rvm.checkIn; r.checkOut = rvm.checkOut; r.firstName = rvm.firstName; r.lastName = rvm.lastName; r.email = rvm.email; r.phone = rvm.phone; r.address = rvm.address; r.city = rvm.city; r.state = rvm.state; r.zip = rvm.zip; r.bill = rvm.bill; r.guestsInfo = String.Join(";", rvm.guestInfoList.ToArray()); r.RoomTypeId = rvm.roomId; if (User.Identity.IsAuthenticated) { r.PersonId = getPersonByEmail().Id; } reservationcontext.Reservations.Add(r); reservationcontext.SaveChanges(); Response.Cookies["Reservation"]["Id"] = r.Id.ToString(); return(RedirectToAction("Reserve")); } } else { rvm.nights = BizLogic.Utilities.calculateNight(rvm.checkIn, rvm.checkOut); RoomType room = new RoomType(); using (var roomcontext = new DataModel.HotelDatabaseContainer()) { room = roomcontext.RoomTypes.Find(rvm.roomId); } rvm.roomType = room.type; rvm.roomGuest = room.maxGuests; return(View("Book", rvm)); } } catch (Exception e) { System.Diagnostics.Debug.WriteLine("Catch: " + e); return(RedirectToAction("Index")); } } }
public ReservationDetailsPage(int hOfferId, int tOfferId) { InitializeComponent(); BindingContext = viewModel = new ReservationDetailViewModel(hOfferId, tOfferId); }
public ReservationDetailsPage() { InitializeComponent(); BindingContext = viewModel = new ReservationDetailViewModel(); }
//POST Update Reservation public bool EditReservation(ReservationDetailViewModel reservation) { return(_reservationsRepository.EditReservation(_mapper.Map <Reservation>(reservation))); }
//Add a new reservation public bool AddReservation(ReservationDetailViewModel reservation) { var r = _mapper.Map <Reservation>(reservation); return(_reservationsRepository.AddReservation(r)); }
}//DownloadViewPDF //Lisätty 1.3.2017 oma koodi, jota muokattu 12.4.2017: //GET: Customers/Details/5 public ActionResult Details(int?id) { string username = User.Identity.Name; string userid = ((ClaimsPrincipal)User).Claims?.Where(c => c.Type == ClaimTypes.GroupSid).FirstOrDefault()?.Value ?? ""; ReservationDetailViewModel model = new ReservationDetailViewModel(); JohaMeriSQL1Entities entities = new JohaMeriSQL1Entities(); try { Customer custdetail = entities.Customer.Find(id); if (custdetail == null) { return(HttpNotFound()); } // muodostetaan näkymämalli tietokannan rivien pohjalta ReservationDetailViewModel view = new ReservationDetailViewModel(); view.User_id = custdetail.User?.FirstOrDefault()?.User_id; view.UserIdentity = custdetail.User?.FirstOrDefault()?.UserIdentity; ViewBag.UserIdentity = new SelectList((from u in db.User select new { User_id = u.User_id, UserIdentity = u.UserIdentity }), "User_id", "UserIdentity", null); view.Customer_id = custdetail.Customer_id; view.FirstNameA = custdetail.FirstName; view.LastNameA = custdetail.LastName; view.Identity = custdetail.Identity; view.Email = custdetail.Email; view.Address = custdetail.Address; view.Notes = custdetail.Notes; view.CreatedAt = custdetail.CreatedAt; view.LastModifiedAt = custdetail.LastModifiedAt; view.DeletedAt = custdetail.DeletedAt; view.Active = custdetail.Active; view.Permission = custdetail.Permission; view.Phone_id = custdetail.Phone?.FirstOrDefault()?.Phone_id; view.PhoneNum_1 = custdetail.Phone?.FirstOrDefault()?.PhoneNum_1; view.Post_id = custdetail.PostOffices?.FirstOrDefault()?.Post_id; view.PostalCode = custdetail.PostOffices?.FirstOrDefault()?.PostalCode; view.PostOffice = custdetail.PostOffices?.FirstOrDefault()?.PostOffice; //muodostetaan Customer -näkymän alitiedostona asiakkaan palvelutiedot view.Customreservations = new List <TreatmentDetailViewModel>(); //foreach (Reservation res in custdetail.Reservation.OrderBy(r => r.Date).ThenBy(r => r.Start)) foreach (Reservation res in custdetail.Reservation.OrderByDescending(r => r.Date)) { view.Customreservations.Add(new TreatmentDetailViewModel() { Date = res.Date, Start = res.Start, End = res.End, TreatmentName = res.Treatment?.TreatmentName, TreatmentTime = res.Treatment?.TreatmentTime, TreatmentCompleted = res.TreatmentCompleted, TreatmentPrice = res.Treatment?.TreatmentPrice, TreatmentPaidDate = res.TreatmentPaidDate, FirstNameH = res.Studentx?.FirstName, LastNameH = res.Studentx?.LastName, Notes = res.Note, TreatmentReportTexts = res.TreatmentReportTexts }); } model = view; } finally { entities.Dispose(); } return(View(model)); }//details
}//DownLoadCustomerPDF //Asiakastietojen PDF-tiedoston luominen: public ActionResult DownloadViewPDF(int?id) { ReservationDetailViewModel model = new ReservationDetailViewModel(); JohaMeriSQL1Entities entities = new JohaMeriSQL1Entities(); try { Customer custdetail = entities.Customer.Find(id); if (custdetail == null) { return(HttpNotFound()); } ReservationDetailViewModel cview = new ReservationDetailViewModel(); cview.User_id = custdetail.User?.FirstOrDefault()?.User_id; cview.UserIdentity = custdetail.User?.FirstOrDefault()?.UserIdentity; ViewBag.UserIdentity = new SelectList((from u in db.User select new { User_id = u.User_id, UserIdentity = u.UserIdentity }), "User_id", "UserIdentity", null); cview.Customer_id = custdetail.Customer_id; cview.FirstNameA = custdetail.FirstName; cview.LastNameA = custdetail.LastName; cview.Identity = custdetail.Identity; cview.Email = custdetail.Email; cview.Address = custdetail.Address; cview.Notes = custdetail.Notes; cview.CreatedAt = custdetail.CreatedAt; cview.LastModifiedAt = custdetail.LastModifiedAt; cview.DeletedAt = custdetail.DeletedAt; cview.Active = custdetail.Active; cview.Permission = custdetail.Permission; cview.Phone_id = custdetail.Phone?.FirstOrDefault()?.Phone_id; cview.PhoneNum_1 = custdetail.Phone?.FirstOrDefault()?.PhoneNum_1; cview.Post_id = custdetail.PostOffices?.FirstOrDefault()?.Post_id; cview.PostalCode = custdetail.PostOffices?.FirstOrDefault()?.PostalCode; cview.PostOffice = custdetail.PostOffices?.FirstOrDefault()?.PostOffice; //haetaan seuraava varaus: cview.Reservation_id = custdetail.Reservation?.FirstOrDefault()?.Reservation_id; cview.Start = custdetail.Reservation?.FirstOrDefault()?.Start.Value; cview.End = custdetail.Reservation?.FirstOrDefault()?.End.Value; cview.Date = custdetail.Reservation?.FirstOrDefault()?.Date.Value; //muodostetaan Customer -näkymän alitiedostona asiakkaan palvelutiedot cview.Customreservations = new List <TreatmentDetailViewModel>(); //foreach (Reservation res in custdetail.Reservation.OrderBy(r => r.Date).ThenBy(r => r.Start)) foreach (Reservation res in custdetail.Reservation.OrderByDescending(r => r.Date)) { cview.Customreservations.Add(new TreatmentDetailViewModel() { Date = res.Date, Start = res.Start, End = res.End, TreatmentName = res.Treatment?.TreatmentName, TreatmentTime = res.Treatment?.TreatmentTime, TreatmentCompleted = res.TreatmentCompleted, TreatmentPrice = res.Treatment?.TreatmentPrice, TreatmentPaidDate = res.TreatmentPaidDate, FirstNameH = res.Studentx?.FirstName, LastNameH = res.Studentx?.LastName, Notes = res.Note, TreatmentReportTexts = res.TreatmentReportTexts }); } model = cview; } finally { entities.Dispose(); } return(new ViewAsPdf(model)); }//DownloadViewPDF