Esempio n. 1
0
        public OrdersController(BookingApplication bookingApplication, MenuApplication menuApplication)
        {
            if (bookingApplication == null)
            {
                throw new ArgumentNullException(nameof(bookingApplication));
            }

            _bookingApp = bookingApplication;

            if (menuApplication == null)
            {
                throw new ArgumentNullException(nameof(menuApplication));
            }

            _menuApp = menuApplication;
        }
Esempio n. 2
0
        /// <summary>
        /// Adding a message for user with refuse to the database
        /// </summary>
        /// <param name="ApplicationId"></param>
        public void SendRefusal(int ApplicationId)
        {
            BookingApplication Application = Database.BookingApplications.Get(ApplicationId);
            Message            negation    = new Message
            {
                UserEmail   = Application.UserEmail,
                DateTime    = DateTime.Now,
                MessageText = "Уважаемый пользователь, к несчастью сообщаем, что по заявке №" + ApplicationId +
                              " в наличии нет свободных номеров по заданным критериям на заданные даты."
            };

            Database.Messages.Create(negation);
            Database.BookingApplications.Delete(ApplicationId);
            Database.Save();
            logger.Log(LogLevel.Info, "На пользователя " + negation.UserEmail + " в базу данных было занесено" +
                       "сообщение с отказом на бронирование.");
        }
Esempio n. 3
0
        /// <summary>
        /// Adding a new booking application to the database
        /// </summary>
        /// <param name="bookingAppDto"></param>
        public void SendApplication(BookingApplicationDTO bookingAppDto)
        {
            BookingApplication bookingApplication = new BookingApplication
            {
                Class     = bookingAppDto.Class,
                Seats     = bookingAppDto.Seats,
                CheckIn   = bookingAppDto.CheckIn.Date,
                CheckOut  = bookingAppDto.CheckOut.Date,
                UserEmail = bookingAppDto.UserEmail,
                UserId    = bookingAppDto.UserId
            };

            Database.BookingApplications.Create(bookingApplication);
            Database.Save();
            logger.Log(LogLevel.Info, "Заявка №" + bookingApplication.Id + " на бронирование номера оформлена и " +
                       "сохранена в базу данных.");
        }
Esempio n. 4
0
        /// <summary>
        /// Adding a new booking and a message for user with confirmation to the database
        /// </summary>
        /// <param name="bookingDTO"></param>
        public void BookForManager(BookingDTO bookingDTO)
        {
            Room room = Database.Rooms.Get(bookingDTO.RoomId);
            BookingApplication bookingApplication = Database.BookingApplications.Get(bookingDTO.ApplicationId);

            if (room == null)
            {
                throw new ValidationException("Комната не найдена", "");
            }
            int     days    = Math.Abs((bookingDTO.CheckIn - bookingDTO.CheckOut).Days);
            decimal sum     = room.Price * days;
            Booking booking = new Booking
            {
                Room      = room,
                Sum       = sum,
                IsPaid    = false,
                CheckIn   = bookingDTO.CheckIn.Date,
                CheckOut  = bookingDTO.CheckOut.Date,
                UserEmail = bookingApplication.UserEmail,
                UserId    = bookingApplication.UserId,
                Time      = DateTime.Now
            };

            Database.Bookings.Create(booking);
            Database.Save();
            Message confirmation = new Message
            {
                UserEmail   = bookingApplication.UserEmail,
                DateTime    = DateTime.Now,
                MessageText = "Уважаемый пользователь, на Вас было оформлено бронирование №" + booking.Id + ".Проверьте " +
                              "его во вкладке «Мои бронирования». Бронирование должно быть оплачено в течении 48 часов! В противном случае " +
                              "бронирование снимается."
            };

            Database.Messages.Create(confirmation);
            Database.BookingApplications.Delete(bookingApplication.Id);
            Database.Save();
            logger.Log(LogLevel.Info, "На пользователя " + booking.UserEmail + " в базу данных было занесено новое " +
                       "бронирование №" + booking.Id + ".");
        }
Esempio n. 5
0
 public BookingService(BookingApplication bookingApplication)
 {
     _bookingApplication = bookingApplication;
 }