Example #1
0
        public async Task <IActionResult> Create(ReservationsCreateViewModel model)
        {
            if (GetCookie("LoggedIn") != "true")
            {
                return(Redirect("/"));
            }
            else
            {
                if (ModelState.IsValid)
                {
                    Reservation reservation = new Reservation
                    {
                        RoomNumber        = model.RoomNumber,
                        UserId            = model.UserId,
                        ClientsIds        = string.Join(",", model.ClientsIds),
                        DateAccomodation  = model.DateAccomodation,
                        DateRelease       = model.DateRelease,
                        BreakfastIncluded = model.BreakfastIncluded,
                        AllInclusive      = model.AllInclusive,
                        PaymentAmount     = model.PaymentAmount
                    };

                    _context.Reservations.Add(reservation);
                    await _context.SaveChangesAsync();

                    return(RedirectToAction(nameof(Index)));
                }

                return(View(GenerateReservationCraeteViewModel(model)));
            }
        }
        public ActionResult Create(ReservationsCreateViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            Reservation reservation = new Reservation();

            reservation.ID = model.ID;
            if (AdminFilter.IsAdmin())
            {
                reservation.UserId = model.UserId;
            }
            else
            {
                reservation.UserId = AdminFilter.GetUserId();
            }
            reservation.RestaurantId    = model.RestaurantId;
            reservation.PeopleCount     = model.PeopleCount;
            reservation.ReservationTime = model.ReservationTime.Date;
            reservation.Comment         = model.Comment;

            var repository = new ReservationRepository();

            repository.Insert(reservation);

            return(RedirectToAction("Index"));
        }
Example #3
0
        public IActionResult Create()
        {
            ReservationsCreateViewModel model = new ReservationsCreateViewModel();

            List <ReservationCreateClientViewModel> clients = _context.Clients
                                                              .Select(x => new ReservationCreateClientViewModel(x.Id, $"{x.FirstName} {x.LastName}"))
                                                              .ToList();

            List <ReservationCreateRoomViewModel> rooms = _context.Rooms.Select(x => new ReservationCreateRoomViewModel(x.Id, x.number, x.type, x.PriceForAdult, x.PriceForKid, x.IsFree)).ToList();

            List <ReservationCreateRoomViewModel> freeRooms = new List <ReservationCreateRoomViewModel>();

            foreach (var room in rooms)
            {
                if (room.IsFree)
                {
                    freeRooms.Add(room);
                }
            }

            model.CreateClient = clients;
            model.RoomsAdded   = freeRooms;

            return(View(model));
        }
        public IActionResult Create(int roomId)
        {
            var model = new ReservationsCreateViewModel()
            {
                Room = RoomsFacade.GetById(roomId)
            };

            return(View(model));
        }
Example #5
0
        // GET: Reservations/Create
        public IActionResult Create()
        {
            if (GlobalVar.LoggedOnUserId == -1)
            {
                return(RedirectToAction("LogInRequired", "Users"));
            }

            ReservationsCreateViewModel model = new ReservationsCreateViewModel();

            model = CreateReservationVMWithDropdown(model, null);

            return(View(model));
        }
        public ActionResult Create()
        {
            ReservationsCreateViewModel model = new ReservationsCreateViewModel();

            model.Restaurants     = PopulateRestaurantsList();
            model.Users           = PopulateUsersList();
            model.PeopleCount     = model.PeopleCount;
            model.ReservationTime = model.ReservationTime.Date;
            model.Comment         = model.Comment;


            return(View(model));
        }
        public ActionResult Create(ReservationsCreateViewModel vm)
        {
            if (!ModelState.IsValid)
            {
                return(Content("Coś poszło nie tak.."));
            }

            var owner = _userService.GetUserByUsername(GetSignedInUsername());
            var reservationCreateRequestModel = _mapper.Map <ReservationsCreateViewModel, ReservationCreateRequestModel>(vm);

            _reservationService.Create(reservationCreateRequestModel, owner);

            return(View("ReservationAdded"));
        }
 private ReservationsCreateViewModel CreateReservationVMWithDropdown(ReservationsCreateViewModel model, string message)
 {
     model.Message = message;
     model.Rooms   = context.Rooms.Select(x => new SelectListItem()
     {
         Text  = $"{x.Number.ToString()} [0/{x.Capacity}] (type: {((RoomTypeEnum)x.Type).ToString()})",
         Value = x.Id.ToString()
     }).ToList();
     model.Users = context.Users.Where(x => x.IsActive).Select(x => new SelectListItem()
     {
         Text  = x.FirstName + " " + x.LastName + " (" + x.Email + ")",
         Value = x.Id.ToString()
     }).ToList();
     return(model);
 }
Example #9
0
        private ReservationsCreateViewModel GenerateReservationCraeteViewModel(ReservationsCreateViewModel model = null)
        {
            if (model == null)
            {
                model = new ReservationsCreateViewModel();
            }
            model.AllAvailableRooms = _context.Rooms.ToArray().Select(r => r.Number).ToArray();

            model.AllUsersNames = _context.Users.ToArray().Select(user => user.FirstName + " " + user.LastName).ToArray();
            model.AllUsersIds   = _context.Users.ToArray().Select(user => user.Id).ToArray();

            model.AllClientsNames = _context.Clients.ToArray().Select(client => client.FirstName + " " + client.LastName).ToArray();
            model.AllClientsIds   = _context.Clients.ToArray().Select(client => client.Id).ToArray();

            return(model);
        }
Example #10
0
        public IActionResult Create(ReservationsCreateViewModel createModel)
        {
            if (GlobalVar.LoggedOnUserId == -1)
            {
                return(RedirectToAction("LogInRequired", "Users"));
            }

            if (ModelState.IsValid)
            {
                try
                {
                    Validate(new Validation_Reservation()
                    {
                        DateOfAccommodation = createModel.DateOfAccommodation,
                        DateOfExemption     = createModel.DateOfExemption,
                        RoomId        = createModel.RoomId,
                        ReservationId = -1
                    });
                }
                catch (InvalidOperationException e)
                {
                    createModel = CreateReservationVMWithDropdown(createModel, e.Message);
                    return(View(createModel));
                }

                Reservation reservation = new Reservation
                {
                    UserId = createModel.UserId,
                    RoomId = createModel.RoomId,
                    DateOfAccommodation = createModel.DateOfAccommodation,
                    DateOfExemption     = createModel.DateOfExemption,
                    IsAllInclusive      = createModel.IsAllInclusive,
                    IsBreakfastIncluded = createModel.IsBreakfastIncluded,
                    OverallBill         = 0
                };

                _context.Reservations.Add(reservation);
                _context.SaveChanges();

                return(RedirectToAction(nameof(Index)));
            }
            createModel = CreateReservationVMWithDropdown(createModel, null);
            return(View(createModel));
        }
Example #11
0
        public async Task <IActionResult> Create(ReservationsCreateViewModel model)
        {
            if (GetCookie("LoggedIn") != "true")
            {
                return(Redirect("/"));
            }
            else
            {
                if (ModelState.IsValid)
                {
                    Reservation reservation = new Reservation();

                    reservation.RoomNumber        = model.RoomNumber;
                    reservation.UserId            = model.UserId;
                    reservation.ClientsIds        = string.Join(",", model.ClientsIds);
                    reservation.DateAccomodation  = model.DateAccomodation;
                    reservation.DateRelease       = model.DateRelease;
                    reservation.BreakfastIncluded = model.BreakfastIncluded;
                    reservation.AllInclusive      = model.AllInclusive;

                    if (reservation.DateAccomodation.CompareTo(reservation.DateRelease) >= 0)
                    {
                        ModelState.AddModelError("DateRelease", "The release date cannot be before the date of аccomodation");
                        return(View(GenerateReservationCraeteViewModel(model)));
                    }

                    Room room   = _context.Rooms.ToArray().Where(r => r.Number == reservation.RoomNumber).FirstOrDefault();
                    int  nAdult = _context.Clients.ToArray().Where(c => model.ClientsIds.Contains(c.Id) && c.Adult).ToArray().Length;
                    int  nChild = _context.Clients.ToArray().Where(c => model.ClientsIds.Contains(c.Id) && !c.Adult).ToArray().Length;
                    reservation.PaymentAmount = CalculatePaymentAmount(nAdult, nChild, (reservation.DateRelease - reservation.DateAccomodation).Days, room.BedPriceAdult, room.BedPriceChild, reservation.AllInclusive, reservation.BreakfastIncluded);

                    _context.Reservations.Add(reservation);
                    await _context.SaveChangesAsync();

                    return(RedirectToAction(nameof(Index)));
                }

                return(View(GenerateReservationCraeteViewModel(model)));
            }
        }
        public async Task <IActionResult> Create(ReservationsCreateViewModel model)
        {
            try
            {
                Reservation result = new Reservation
                {
                    Room         = context.Rooms.Find(int.Parse(model.Room)),
                    Account      = context.Accounts.Find(int.Parse(model.Account)),
                    Start        = model.Start,
                    End          = model.End,
                    Breakfast    = model.Breakfast,
                    AllInclusive = model.AllInclusive,
                    Cost         = model.Cost
                };
                result.Room.Available = false;
                List <ClientReservations> clients = new List <ClientReservations>();
                foreach (string id in model.Clients)
                {
                    ClientReservations client = new ClientReservations
                    {
                        Client      = context.Clients.Find(int.Parse(id)),
                        Reservation = result
                    };
                    clients.Add(client);
                    context.Clients.Find(int.Parse(id)).previousReservations.Add(client);
                }
                result.Clients = clients;
                context.ClientReservations.AddRange(clients);
                context.Reservations.Add(result);
                await context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            catch
            {
                return(View());
            }
        }
Example #13
0
        public async Task <IActionResult> Create(ReservationsCreateViewModel createModel)
        {
            if (ModelState.IsValid)
            {
                Reservation reservation = new Reservation
                {
                    FirstName    = createModel.FirstName,
                    SecondName   = createModel.SecondName,
                    LastName     = createModel.LastName,
                    EGN          = createModel.EGN,
                    PhoneNumber  = createModel.PhoneNumber,
                    Nationality  = createModel.Nationality,
                    TypeOfTicket = createModel.TypeOfTicket,
                    Email        = createModel.Email
                };

                _context.Add(reservation);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(createModel));
        }
Example #14
0
 public ActionResult Create(ReservationsCreateViewModel model)
 {
     if (!ModelState.IsValid)
     {
         UsersRepository rep = new UsersRepository();
         ViewBag.UserId = new SelectList(rep.GetAll(), "Id", "Name");
         RestaurantsRepository repo = new RestaurantsRepository();
         ViewBag.RestaurantId = new SelectList(repo.GetAll(), "Id", "Name");
         return(View());
     }
     else
     {
         Reservation reservation = new Reservation();
         reservation.PeopleCount     = model.PeopleCount;
         reservation.ReservationTime = model.ReservationTime;
         reservation.Comment         = model.Comment;
         reservation.UserId          = model.UserId;
         reservation.RestaurantId    = model.ResraurantId;
         ReservationsRepository repository = new ReservationsRepository();
         repository.Insert(reservation);
         return(RedirectToAction("Index"));
     }
 }
        // GET: ReservationsController/Create
        public ActionResult Create()
        {
            var model = new ReservationsCreateViewModel();

            return(View(model));
        }