public async Task <IActionResult> Change(ChangeExerciseViewModel viewModel) { if (viewModel != null) { if (ModelState.IsValid) { Exercise exercise = new Exercise { Name = viewModel.Name, Id = viewModel.Id, Description = viewModel.Description, UnitId = viewModel.UnitId, OwnWeight = viewModel.OwnWeight }; if (exercise.Id == 0) //ветка добавления { if (IsPresentInDB(exercise)) { CreateTempData("ElementPresentinDBShort", "ElementPresentinDBLong"); } else { await appContext.Exercises.AddAsync(exercise); await appContext.SaveChangesAsync(); } } else // ветка обновления данных { if (await IsAllowedToModifyAsync(exercise)) { appContext.Exercises.Update(exercise); await appContext.SaveChangesAsync(); } else { CreateTempData("ElementCannotBeChangedShort", "ElementCannotBeChangedLong"); } } return(RedirectToAction("List")); } else { return(View(viewModel)); } } else { CreateTempData("ElementIdNotFoundShort", "ElementIdNotFoundLong"); } return(RedirectToAction("List")); }
public IActionResult Modify(int id) { ViewBag.Tittle = "ModifyExercise"; // TODO: localization Exercise exercise = appContext.Exercises.Include(x => x.Unit).Where(x => x.Id.Equals(id)).FirstOrDefault(); var units = appContext.Units.ToList(); var viewModel = new ChangeExerciseViewModel { Id = exercise.Id, Name = exercise.Name, UnitId = exercise.UnitId, Description = exercise.Description, OwnWeight = exercise.OwnWeight, Units = units }; return(View("Change", viewModel)); }