Ejemplo n.º 1
0
        public ActionResult CreatingRoom(Room room)
        {
            IRepository repository = new CommunicationWithDataBase();

            logger.Debug($"Обращение к базе данных, получение комнат");
            Room existedRoom = repository.GetRoomByNumber(room.Numder);

            if (existedRoom != null)
            {
                ModelState.AddModelError(nameof(room.Numder), "Комната с таким номером уже существует");
            }

            if (ModelState.IsValid)
            {
                logger.Debug($"Обращение к базе данных, для добавления новой комнаты");
                logger.Info($"В базу данных добавлена новая комната");
                repository.CreateRoom(room.Numder, room.ClassRoomId, room.CountOfPlaces);
                return(RedirectToAction("AdminMainPage"));
            }

            IEnumerable <SelectListItem> roomCountOfPlacesItems = FormingSelectItems.GetRoomCountOfPlacesItems();
            IEnumerable <SelectListItem> classRoomItems         = FormingSelectItems.GetClassRoomItems();

            ViewData["RoomCountOfPlacesItems"] = roomCountOfPlacesItems;
            ViewData["ClassRoomItems"]         = classRoomItems;

            logger.Info($"Отказ в добавлении новой комнаты");
            return(View());
        }
Ejemplo n.º 2
0
        public ActionResult CreatingRoom()
        {
            IEnumerable <SelectListItem> roomCountOfPlacesItems = FormingSelectItems.GetRoomCountOfPlacesItems();
            IEnumerable <SelectListItem> classRoomItems         = FormingSelectItems.GetClassRoomItems();

            ViewData["RoomCountOfPlacesItems"] = roomCountOfPlacesItems;
            ViewData["ClassRoomItems"]         = classRoomItems;

            return(View());
        }
Ejemplo n.º 3
0
        public ActionResult RoomReservation()
        {
            IRepository repository = new CommunicationWithDataBase();

            logger.Debug($"Обращение к базе данных, получение комнат");
            List <Room> rooms = repository.GetAllRooms();

            ViewData["RoomClassItems"]     = FormingSelectItems.GetRoomClassRoomItems(rooms);
            ViewData["CountOfPlacesItems"] = FormingSelectItems.GetCurrentRoomCountOfPlacesItems(rooms);

            return(View(rooms));
        }
Ejemplo n.º 4
0
        public ActionResult RoomReservation(FormCollection form)
        {
            IRepository repository = new CommunicationWithDataBase();

            int      roomClassId   = Convert.ToInt32(form["RoomClass"]);
            int      countOfPlaces = Convert.ToInt32(form["CountOfPlaces"]);
            DateTime startDate     = new DateTime();
            DateTime endDate       = new DateTime();

            try
            {
                startDate = Convert.ToDateTime(form["StartDate"]);
                endDate   = Convert.ToDateTime(form["EndDate"]);
            }
            catch
            {
                ModelState.AddModelError("DateValidationError", "Даты указаны некорректно");
                logger.Error($"Ошибка. Невозможно конвертировать дату");
            }

            if (startDate < DateTime.Now || startDate >= endDate)
            {
                ModelState.AddModelError("DateValidationError", "Даты указаны некорректно");
            }

            if (startDate.AddDays(14) < endDate)
            {
                ModelState.AddModelError("DateValidationError", "Проживание в отеле допустимо не более 2х недель");
            }

            if (ModelState.IsValid)
            {
                logger.Debug($"Обращение к базе данных, создание запроса на поселение");
                string userLogin = User.Identity.Name;
                repository.CreateRequest(userLogin, roomClassId, countOfPlaces, startDate, endDate);
                logger.Info($"Пользователем создан новый запрос на поселение");
                return(RedirectToAction("Index"));
            }

            logger.Debug($"Обращение к базе данных, получение комнат");
            List <Room> rooms = repository.GetAllRooms();

            ViewData["RoomClassItems"]     = FormingSelectItems.GetRoomClassRoomItems(rooms);
            ViewData["CountOfPlacesItems"] = FormingSelectItems.GetCurrentRoomCountOfPlacesItems(rooms);

            return(View());
        }
Ejemplo n.º 5
0
        public ActionResult NotProcessedRequests()
        {
            IRepository repository = new CommunicationWithDataBase();

            logger.Debug($"Обращение к базе данных, получение комнат");
            List <Room> rooms = repository.GetAllRooms();

            IEnumerable <SelectListItem> roomNumberItems = FormingSelectItems.GetRoomNumberItems(rooms);

            ViewData["RoomNumberItems"] = roomNumberItems;

            logger.Debug($"Обращение к базе данных, получение запросов на проживание");
            List <Booking> bookings             = repository.GetBookingRequests();
            var            notProcessedBookings = bookings.Where(b => b.BookingStatusId == 1);

            return(View(notProcessedBookings));
        }
Ejemplo n.º 6
0
        public ActionResult AllRooms()
        {
            IRepository repository = new CommunicationWithDataBase();

            List <SelectListItem> roomItems = new List <SelectListItem>()
            {
                new SelectListItem()
                {
                    Text  = "Свободны",
                    Value = "1"
                },
                new SelectListItem()
                {
                    Text  = "Заняты",
                    Value = "2"
                },
                new SelectListItem()
                {
                    Text  = "Забронированы",
                    Value = "3"
                },
                new SelectListItem()
                {
                    Text  = "Недоступны",
                    Value = "4"
                },
            };

            ViewData["RoomItems"] = roomItems;

            logger.Debug($"Обращение к базе данных, получение комнат");
            List <Room> rooms = repository.GetAllRooms();

            ViewData["RoomClassItems"] = FormingSelectItems.GetRoomClassRoomItems(rooms);

            return(View(rooms));
        }