public async Task <IActionResult> Edit(int id, WhiskeyEditViewModel viewModel) { var whiskeyId = id; //ModelState.Remove("Whiskey.Review_Id"); ModelState.Remove("UserId"); ModelState.Remove("User"); if (ModelState.IsValid) { try { var whiskeyUser = viewModel.Whiskey.UserId; var user = await GetCurrentUserAsync(); viewModel.Whiskey.UserId = user.Id; _context.Update(viewModel.Whiskey); await _context.SaveChangesAsync(); return(RedirectToAction("Index")); } catch (DbUpdateConcurrencyException) { if (!WhiskeyExists(viewModel.Whiskey.WhiskeyId)) { return(NotFound()); } else { throw; } } } return(View(viewModel)); }
// GET: Whiskeys/Edit/5 public async Task <IActionResult> Edit(int id) { //need to ensure a user can edit all user input information (whiskey details, review details, dropdown selection options). Need whiskey id, whiskey object, review object, review dropdown values var whiskey = await _context.Whiskey .Include(m => m.Review) .Include(m => m.Review.FragrantFlavor) .Include(m => m.Review.FruityFlavor) .Include(m => m.Review.GrainyFlavor) .Include(m => m.Review.GrassyFlavor) .Include(m => m.Review.PeatyFlavor) .Include(m => m.Review.WineyFlavor) .Include(m => m.Review.WoodyFlavor) .FirstOrDefaultAsync(m => m.WhiskeyId == id); var FragrantFlavorData = _context.FragrantFlavor; var FruityFlavorData = _context.FruityFlavor; var GrainyFlavorData = _context.GrainyFlavor; var GrassyFlavorData = _context.GrassyFlavor; var OffNoteFlavorData = _context.OffNoteFlavor; var PeatyFlavorData = _context.PeatyFlavor; var WineyFlavorData = _context.WineyFlavor; var WoodyFLavorData = _context.WoodyFlavor; List <SelectListItem> FragrantFlavorList = new List <SelectListItem>(); List <SelectListItem> FruityFlavorList = new List <SelectListItem>(); List <SelectListItem> GrainyFlavorList = new List <SelectListItem>(); List <SelectListItem> GrassyFlavorList = new List <SelectListItem>(); List <SelectListItem> OffNoteFlavorList = new List <SelectListItem>(); List <SelectListItem> PeatyFlavorList = new List <SelectListItem>(); List <SelectListItem> WineyFlavorList = new List <SelectListItem>(); List <SelectListItem> WoodyFlavorList = new List <SelectListItem>(); // include the select option in the product type list //FragrantFlavorList.Insert(0, new SelectListItem //{ // Text = "Select", // Value = "" //}); //FruityFlavorList.Insert(0, new SelectListItem //{ // Text = "Select", // Value = "" //}); //GrainyFlavorList.Insert(0, new SelectListItem //{ // Text = "Select", // Value = "" //}); //GrassyFlavorList.Insert(0, new SelectListItem //{ // Text = "Select", // Value = "" //}); //OffNoteFlavorList.Insert(0, new SelectListItem //{ // Text = "Select", // Value = "" //}); //PeatyFlavorList.Insert(0, new SelectListItem //{ // Text = "Select", // Value = "" //}); //WineyFlavorList.Insert(0, new SelectListItem //{ // Text = "Select", // Value = "" //}); //WoodyFlavorList.Insert(0, new SelectListItem //{ // Text = "Select", // Value = "" //}); foreach (var f in FragrantFlavorData) { SelectListItem li = new SelectListItem { Value = f.FragrantFlavor_Id.ToString(), Text = f.Name }; FragrantFlavorList.Add(li); } ; foreach (var f in FruityFlavorData) { SelectListItem li = new SelectListItem { Value = f.FruityFlavor_Id.ToString(), Text = f.Name }; FruityFlavorList.Add(li); } ; foreach (var f in GrainyFlavorData) { SelectListItem li = new SelectListItem { Value = f.GrainyFlavor_Id.ToString(), Text = f.Name }; GrainyFlavorList.Add(li); } ; foreach (var f in GrassyFlavorData) { SelectListItem li = new SelectListItem { Value = f.GrassyFlavor_Id.ToString(), Text = f.Name }; GrassyFlavorList.Add(li); } ; foreach (var f in OffNoteFlavorData) { SelectListItem li = new SelectListItem { Value = f.OffNoteFlavor_Id.ToString(), Text = f.Name }; OffNoteFlavorList.Add(li); } ; foreach (var f in PeatyFlavorData) { SelectListItem li = new SelectListItem { Value = f.PeatyFlavor_Id.ToString(), Text = f.Name }; PeatyFlavorList.Add(li); } ; foreach (var f in WineyFlavorData) { SelectListItem li = new SelectListItem { Value = f.WineyFlavor_Id.ToString(), Text = f.Name }; WineyFlavorList.Add(li); } ; foreach (var f in WoodyFLavorData) { SelectListItem li = new SelectListItem { Value = f.WoodyFlavor_Id.ToString(), Text = f.Name }; WoodyFlavorList.Add(li); } ; WhiskeyEditViewModel WEVM = new WhiskeyEditViewModel(); WEVM.FragrantFlavors = FragrantFlavorList; WEVM.FruityFlavors = FruityFlavorList; WEVM.GrainyFlavors = GrainyFlavorList; WEVM.GrassyFlavors = GrassyFlavorList; WEVM.OffNoteFlavors = OffNoteFlavorList; WEVM.PeatyFlavors = PeatyFlavorList; WEVM.WineyFlavors = WineyFlavorList; WEVM.WoodyFlavors = WoodyFlavorList; WEVM.Whiskey = whiskey; var user = await GetCurrentUserAsync(); if (user.Id == whiskey.UserId) { return(View(WEVM)); } else { return(RedirectToAction("Index")); } }