Example #1
0
        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));
        }
Example #2
0
        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));
        }