Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        //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);
        }
Ejemplo n.º 5
0

        
Ejemplo n.º 6
0
        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));
            }
        }
Ejemplo n.º 7
0
        //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> {
            });
        }
Ejemplo n.º 8
0
        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));
        }//
Ejemplo n.º 9
0
        }//

        // 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
Ejemplo n.º 10
0
        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"));
                }
            }
        }
Ejemplo n.º 11
0
 public ReservationDetailsPage(int hOfferId, int tOfferId)
 {
     InitializeComponent();
     BindingContext = viewModel = new ReservationDetailViewModel(hOfferId, tOfferId);
 }
Ejemplo n.º 12
0
 public ReservationDetailsPage()
 {
     InitializeComponent();
     BindingContext = viewModel = new ReservationDetailViewModel();
 }
Ejemplo n.º 13
0
 //POST Update Reservation
 public bool EditReservation(ReservationDetailViewModel reservation)
 {
     return(_reservationsRepository.EditReservation(_mapper.Map <Reservation>(reservation)));
 }
Ejemplo n.º 14
0
        //Add a new reservation
        public bool AddReservation(ReservationDetailViewModel reservation)
        {
            var r = _mapper.Map <Reservation>(reservation);

            return(_reservationsRepository.AddReservation(r));
        }
Ejemplo n.º 15
0
        }//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
Ejemplo n.º 16
0
        }//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