Exemple #1
0
        public IActionResult Details(int id)
        {
            var reservation = _context.Reservations
                              .Include(x => x.Customer)
                              .Include(x => x.EquipmentBundle).ThenInclude(t => t.EquipmentsInBundles).ThenInclude(b => b.Equipment)
                              .Include(x => x.Event)
                              .Include(x => x.Notifications)
                              .FirstOrDefault(x => x.Id == id);

            if (reservation == null)
            {
                return(RedirectToAction("Index"));
            }

            var bundles = _context.EquipmentBundles
                          .Where(x => x.Status == EquipmentBundleStatus.Public)
                          .ToList();

            var users = _context.ApplicationUsers.ToList();

            var model = new ReservationNewOrUpdate
            {
                Reservation      = reservation,
                EquipmentBundles = bundles,
                Users            = users
            };

            return(View(model));
        }
Exemple #2
0
        public async Task <IActionResult> Create(ReservationNewOrUpdate viewModel)
        {
            ModelState.Remove("Reservation.CustomerId");

            //string messages = string.Join("; ", ModelState.Values
            //                            .SelectMany(x => x.Errors)
            //                            .Select(x => x.ErrorMessage));

            //return Content(messages);

            if (ModelState.IsValid && viewModel.Reservation.StartTime < viewModel.Reservation.EndTime)
            {
                var reservation = viewModel.Reservation;

                var current = DateTime.Now;
                reservation.CreatedOn = current;
                reservation.UpdatedOn = current;

                var selectedBundleId = Request.Form["equipmentBundles"];

                if (!selectedBundleId.Any())
                {
                    return(RedirectToAction(nameof(Index)));
                }

                var bundle = _context.EquipmentBundles.Single(x => x.Id == Convert.ToInt32(selectedBundleId.FirstOrDefault()));

                if (bundle == null)
                {
                    return(RedirectToAction(nameof(Index)));
                }

                reservation.EquipmentBundle = bundle;

                var user = await _userManager.GetUserAsync(HttpContext.User);

                reservation.CustomerId = user.Id;

                reservation.Status = ReservationStatus.Pending;

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

                return(RedirectToAction(nameof(Details), new { id = reservation.Id }));
            }

            return(RedirectToAction(nameof(Index)));
        }
Exemple #3
0
 public IActionResult Update(ReservationNewOrUpdate viewModel)
 {
     return(RedirectToAction(nameof(Index)));
 }