// GET: Workouts/Edit/5 public async Task <IActionResult> Edit(int?id) { var CurrentUser = await GetCurrentUserAsync(); var viewModel = new WorkoutEditViewModel { WorkoutTypes = await _context.WorkoutTypes.ToListAsync() }; List <WorkoutType> typesToAdd = GetAllWorkoutTypes(); viewModel.WorkoutTypes = typesToAdd; var workout = await _context.Workouts.FindAsync(id); viewModel.Workout = workout; if (id == null) { return(NotFound()); } if (workout == null) { return(NotFound()); } return(View(viewModel)); }
public async Task <IActionResult> OnGetAsync(int?id, string returnPath) { if (id == null) { return(NotFound()); } var storedWorkout = await _workoutRepository.GetById(id.Value) .ConfigureAwait(false); if (storedWorkout == null) { return(NotFound()); } TempData[ValueKeys.TempDataReturnPathKey] = returnPath; Workout = _mapper.Map <WorkoutEditViewModel>(storedWorkout); return(Page()); }
public async Task <IActionResult> Edit(WorkoutEditViewModel viewModel, int id, [Bind("Id,Title,Description,WorkoutTypeId")] Workout workout) { ModelState.Remove("Workout.UserId"); var currentUser = await GetCurrentUserAsync(); workout = viewModel.Workout; workout.UserId = currentUser.Id; if (id != workout.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(workout); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!WorkoutExists(workout.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } viewModel.WorkoutTypes = await _context.WorkoutTypes.ToListAsync(); return(View(workout)); }