public async Task <IActionResult> Edit(int id, [Bind("Id, HomeScore, AwayScore")] VM_EditFixture fixture) { Boolean scoreHasChanged = false; var actualFixture = await _fixtureRepository.GetSingleFixture(id); if (id != actualFixture.Id) { return(NotFound()); } if (ModelState.IsValid) { try { if ((fixture.HomeScore != actualFixture.HomeScore) || fixture.AwayScore != actualFixture.AwayScore) { scoreHasChanged = true; } actualFixture.HomeScore = fixture.HomeScore; actualFixture.AwayScore = fixture.AwayScore; actualFixture.Result = fixture.HomeScore + " - " + fixture.AwayScore; await _fixtureRepository.SaveChanges(); if (scoreHasChanged) { var predictions = await _predictionRepository.GetPredictionsToUpdate(actualFixture.Id); PredictionHandler pp = new PredictionHandler(predictions, actualFixture); predictions = pp.updatePredictions(); } await _fixtureRepository.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!FixtureExists(actualFixture.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction("Index", "Admin")); } return(View(fixture)); }
public async Task <IActionResult> Edit(int id) { var fixture = _fixtureRepository.GetSingleFixture(id); if (await fixture == null) { return(NotFound()); } var vm_fixture = new VM_EditFixture(); vm_fixture.Home = fixture.Result.Home; vm_fixture.Away = fixture.Result.Away; vm_fixture.HomeScore = fixture.Result.HomeScore; vm_fixture.AwayScore = fixture.Result.AwayScore; vm_fixture.FixtureDateTime = fixture.Result.FixtureDateTime; vm_fixture.Group = fixture.Result.Group; return(View("Edit", vm_fixture)); }