public IActionResult EditTestResult(EditTestResultViewModel viewModel) { var progress = _database.ScorecardsInProgress.Find(viewModel.Result.ProgressID); progress.AddOrUpdateResult(viewModel.Test.ID, viewModel.Test.CategoryID, Strings.TestStatus.FromString(viewModel.SelectedStatus) ?? false, viewModel.Result.Notes); _database.ScorecardsInProgress.Update(progress); _database.SaveChanges(); return(RedirectToAction("Progress", new { id = viewModel.Result.ProgressID, testID = viewModel.Test.ID })); }
public IActionResult EditTestResult(Guid id, Guid testID) { var progress = _database.ScorecardsInProgress.Find(id); var test = _database.ScorecardTests.Find(testID); var result = progress.GetResults().FirstOrDefault(r => r.TestID == testID); if (result == null) { result = new ScorecardTestResultModel { ProgressID = progress.ID, TestID = testID, CategoryID = test.CategoryID }; } var statusOptions = new List <string>() { Strings.TestStatus.Passed, Strings.TestStatus.Failed, Strings.TestStatus.NotStarted, }; statusOptions.Remove(Strings.TestStatus.GetString(result.Passed)); var viewModel = new EditTestResultViewModel { Test = test, Result = result, StatusOptions = new SelectList(statusOptions), SelectedStatus = Strings.TestStatus.GetString(result.Passed) }; return(View(viewModel)); }