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)); }
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))); }
public IActionResult Update(ReservationNewOrUpdate viewModel) { return(RedirectToAction(nameof(Index))); }