public IActionResult Index()
        {
            if (!Authentication.AuthenticateByCookie(HttpContext))
            {
                return(Redirect("/Receptionists/Authentication/Login?Area=Receptionists&Ctrl=Rooms&Act=Index"));
            }

            BookingDAO.Update();

            List <string> StylesSelected = new List <string>();
            List <string> SizesSelected  = new List <string>();

            foreach (var roomstyle in RoomStyleDAO.GetAllRoomStyle())
            {
                StylesSelected.Add(roomstyle.RoomStyleID.ToString());
            }

            foreach (var roomsize in RoomSizeDAO.GetAllRoomSize())
            {
                SizesSelected.Add(roomsize.RoomSizeID.ToString());
            }

            ViewBag.StylesSelected = StylesSelected;
            ViewBag.SizesSelected  = SizesSelected;
            ViewData.Model         = RoomsDAO.GetRoomsViewModel();

            return(View());
        }
示例#2
0
 public IActionResult Confirmation(int RoomID, DateTime CheckInDate, DateTime CheckOutDate)
 {
     ViewData.Model       = RoomsDAO.GetRoomModel(RoomID);
     ViewBag.CheckInDate  = CheckInDate.ToString("MM-dd-yyyy", CultureInfo.InvariantCulture);
     ViewBag.CheckOutDate = CheckOutDate.ToString("MM-dd-yyyy", CultureInfo.InvariantCulture);
     return(View());
 }
        public IActionResult Index(IFormCollection data)
        {
            if (!Authentication.AuthenticateByCookie(HttpContext))
            {
                return(Redirect("/Receptionists/Authentication/Login?Area=Receptionists&Ctrl=Rooms&Act=Index"));
            }

            BookingDAO.Update();

            List <string> StylesSelected = new List <string>();
            List <string> SizesSelected  = new List <string>();

            foreach (var obj in data)
            {
                if (obj.Key.StartsWith("roomstyle"))
                {
                    StylesSelected = obj.Value.ToList();
                }
                else
                if (obj.Key.StartsWith("roomsize"))
                {
                    SizesSelected = obj.Value.ToList();
                }
            }

            ViewBag.StylesSelected = StylesSelected;
            ViewBag.SizesSelected  = SizesSelected;

            string str = string.Join(",", StylesSelected);

            ViewData.Model = RoomsDAO.GetRoomsViewModel(StylesSelected, SizesSelected);

            return(View());
        }
        private void DoneBtn_Click(object sender, EventArgs e)
        {
            if (this.BackColor == Color.Green)
            {
                messageLbl.Text     = "Room Already in Cleaned State";
                WorkerIdTxtBox.Text = "";
            }
            else
            {
                if (WorkerIdTxtBox.Text != "" && IsWorker(WorkerIdTxtBox.Text) == true && this.BackColor == Color.Yellow)
                {
                    messageLbl.Text = "";
                    String workerId = WorkerIdTxtBox.Text;
                    WorkerIdTxtBox.Text = "";

                    this.BackColor = Color.Green;

                    RoomsDAO.SetCleaningStatusToDone(NoLbl.Text);
                }
                else
                {
                    WorkerIdTxtBox.Text = "";
                    messageLbl.Text     = "Error occurred";
                }
            }
        }
        private void JoinRoomBtn_Click(object sender, EventArgs e)
        {
            if (this.BackColor == Color.Green)
            {
                messageLbl.Text     = "Room Alredy in Cleaned State";
                WorkerIdTxtBox.Text = "";
            }
            else
            {
                if (WorkerIdTxtBox.Text != "" && IsWorker(WorkerIdTxtBox.Text) == true)
                {
                    messageLbl.Text = "";
                    String workerId = WorkerIdTxtBox.Text;
                    WorkerIdTxtBox.Text = "";

                    // parse data that room is in progress into database at information of who made it in progress using the workerid string
                    int no = int.Parse(ActiveNumberLbl.Text);
                    ActiveNumberLbl.Text = (no + 1).ToString();
                    RoomsDAO.SetCleaningStatusToInProgress(ActiveNumberLbl.Text, NoLbl.Text);
                    this.BackColor = Color.Yellow;
                }
                else
                {
                    messageLbl.Text     = "";
                    messageLbl.Text     = "Error occurred";
                    WorkerIdTxtBox.Text = "";
                }
            }
        }
        public async Task <IActionResult> Create(int RoomID, DateTime CheckInDate, DateTime CheckOutDate, Guest guest, Payment payment, int Amount)
        {
            int guestid   = GuestDAO.InsertGuest(guest);
            int paymentid = PaymentDAO.InsertPayment(payment);
            int bookingid = BookingDAO.InsertBooking(new Booking()
            {
                RoomID       = RoomID,
                CheckInDate  = CheckInDate.AddHours(14),
                CheckOutDate = CheckOutDate.AddHours(12).AddMinutes(5),
                GuestID      = guestid,
                Amount       = (int)(CheckOutDate - CheckInDate).TotalDays * RoomsDAO.GetRoomModel(RoomID).RoomType.Price,
                PaymentID    = paymentid,
            });

            var    model = BookingDAO.GetBookingModel(bookingid);
            string body  = await Utlities.RenderViewToStringAsync <BookingModel>(this, "~/Areas/Guests/Views/Partial/_ConfirmEmail.cshtml", model);

            MailMessage mail = new MailMessage();

            mail.From = new MailAddress("*****@*****.**");
            mail.To.Add(guest.Email);
            mail.Subject    = "Congratulations on your successful booking";
            mail.Body       = body;
            mail.IsBodyHtml = true;

            Utlities.SendEmail(mail);

            return(View());
        }
示例#7
0
        public JsonResult Check(int RoomTypeID, DateTime CheckInDate, DateTime CheckOutDate)
        {
            int roomid = RoomsDAO.GetAvailableRoomID(RoomTypeID, CheckInDate, CheckOutDate);

            return(Json(new
            {
                roomid = roomid
            }));
        }
 public IActionResult CheckRoomNumberExists(int roomId)
 {
     if (RoomsDAO.CheckIsExistRoomById(roomId))
     {
         return(Json(true));
     }
     else
     {
         return(Json(false));
     }
 }
        public IActionResult UpdateRoom(int roomId, int roomtypeId)
        {
            var room = RoomsDAO.UpdateRoom(new Room()
            {
                RoomID     = roomId,
                Status     = RoomsDAO.GetRoom(roomId).Status,
                RoomTypeID = RoomTypeDAO.GetRoomType(roomtypeId).RoomTypeID
            });

            return(Json(roomId));
        }
示例#10
0
        public IActionResult Index(int RoomID, DateTime CheckInDate, DateTime CheckOutDate)
        {
            ViewBag.CheckInDate          = CheckInDate;
            ViewBag.CheckOutDate         = CheckOutDate;
            ViewBag.CheckInDateFormated  = CheckInDate.ToString("MM-dd-yyyy", CultureInfo.InvariantCulture);
            ViewBag.CheckOutDateFormated = CheckOutDate.ToString("MM-dd-yyyy", CultureInfo.InvariantCulture);
            RoomModel rm = RoomsDAO.GetRoomModel(RoomID);

            ViewBag.Room = rm;
            //ViewBag.TotalPrice = (CheckOutDate - CheckInDate).TotalDays * PriceDAO.GetPrice(rm.RoomType.RoomTypeID, rm.OtherType.OtherTypeID);
            return(View());
        }
示例#11
0
        public IActionResult RoomsManagement()
        {
            if (!Authentication.AuthenticateByCookie(HttpContext))
            {
                return(Redirect("/Receptionists/Authentication/Login?Area=Receptionists&Ctrl=Rooms&Act=RoomsManagement"));
            }

            RoomsManagerViewModel model = new RoomsManagerViewModel();

            model.RoomModels     = RoomsDAO.GetAllRoomsModel();
            model.RoomSizes      = RoomSizeDAO.GetAllRoomSize();
            model.RoomStyles     = RoomStyleDAO.GetAllRoomStyle();
            model.RoomTypeModels = RoomTypeDAO.GetAllRoomTypeModel();
            return(View(model));
        }
示例#12
0
        public IActionResult Create(int RoomID, DateTime CheckInDate, DateTime CheckOutDate, Guest guest, Payment payment, int Amount)
        {
            int guestid   = GuestDAO.InsertGuest(guest);
            int paymentid = PaymentDAO.InsertPayment(payment);
            int bookingid = BookingDAO.InsertBooking(new Booking()
            {
                RoomID       = RoomID,
                CheckInDate  = CheckInDate.AddHours(14),
                CheckOutDate = CheckOutDate.AddHours(12).AddMinutes(5),
                GuestID      = guestid,
                Amount       = (int)(CheckOutDate - CheckInDate).TotalDays * RoomsDAO.GetRoomModel(RoomID).RoomType.Price,
                PaymentID    = paymentid,
            });

            return(View());
        }
示例#13
0
 public IActionResult CreateRoom(int roomId, int roomtypeId)
 {
     if (!RoomsDAO.CheckIsExistRoomById(roomId))
     {
         var room = RoomsDAO.InsertRoom(new Room()
         {
             RoomID     = roomId,
             Status     = RoomStatuses.Empty,
             RoomTypeID = RoomTypeDAO.GetRoomType(roomtypeId).RoomTypeID
         });
         return(Json(roomId));
     }
     else
     {
         return(Json(null));
     }
 }
        // Mehod that is populating the RoomControl Panel user controls base on the amount of the available data
        private void PopulateItems()
        {
            _cleaners.Clear();
            List <Room> rooms = RoomsDAO.GetRoomsOfResidence();

            _cleaners = CleaningStaffDAO.GetCleaningStaffList();
            List <Reservation> reservations = ReservationDAO.GetReservationDetails();


            int amount = rooms.Count;

            if (flowLayoutPanel1.Controls.Count != 0)
            {
                flowLayoutPanel1.Controls.Clear();
            }

            RoomControlPanel[] listItems = new RoomControlPanel[amount];

            for (int i = 0; i < listItems.Length; i++)
            {
                listItems[i] = new RoomControlPanel
                {
                    RoomNumber    = rooms[i].GetRoomID,
                    Services1     = GetService3(reservations[i].EndOfReservation),
                    Services2     = GetService2(reservations[i].StartOfReservation),
                    Services3     = GetService1(reservations[i].StartOfReservation),
                    Status        = rooms[i].GetState,
                    NumberWorking = rooms[i].GetNumber,
                    Cleaners      = _cleaners[0].ReturnIDList(_cleaners)
                };
                if (flowLayoutPanel1.Controls.Count < 0)
                {
                    flowLayoutPanel1.Controls.Clear();
                }
                else
                {
                    flowLayoutPanel1.Controls.Add(listItems[i]);
                }
            }
        }
示例#15
0
 public IActionResult DeleteRoom(int roomId)
 {
     return(Json(RoomsDAO.DeleteRoomModel(roomId)));
 }