public async Task <IActionResult> Edit(int?id) { if (id == null) { return(NotFound()); } var user = await _userManager.GetUserAsync(HttpContext.User); var test = await UserContext.Tests.FindAsync(id); if (test == null) { return(NotFound()); } categories = UserContext.Сategories.ToList(); resultScales = UserContext.ResultScales.ToList(); ChangeTestViewModel model = new ChangeTestViewModel { TestId = test.Id.ToString(), CategoryId = test.CategoryId, Categories = categories, ResultScaleId = test.ResultScaleId, ResultScales = resultScales, Name = test.Name, Description = test.Description, TimeRestricting = test.TimeRestricting, ReadyForPassing = test.ReadyForPassing, ShowAnswers = test.ShowAnswers, SinglePassing = test.SinglePassing, OnlyRegisteredCanPass = test.OnlyRegisteredCanPass }; if (user.Equals(test.User)) { return(View(model)); } else { return(NotFound()); } }
public async Task <IActionResult> EditTest(int?id, ChangeTestViewModel changeTestViewModel) { var test = await UserContext.Tests.FindAsync(id); if (id != test.Id) { return(NotFound()); } if (ModelState.IsValid) { try { test.CategoryId = changeTestViewModel.CategoryId; test.ResultScaleId = changeTestViewModel.ResultScaleId; test.Name = changeTestViewModel.Name; test.Description = changeTestViewModel.Description; test.TimeRestricting = changeTestViewModel.TimeRestricting; test.ReadyForPassing = changeTestViewModel.ReadyForPassing; test.ShowAnswers = changeTestViewModel.ShowAnswers; test.SinglePassing = changeTestViewModel.SinglePassing; test.OnlyRegisteredCanPass = changeTestViewModel.OnlyRegisteredCanPass; UserContext.Update(test); await UserContext.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!TestExists(test.Id)) { return(NotFound()); } } return(RedirectToAction(nameof(Index))); } return(View(test)); }