public async Task <IActionResult> Index(FixtureService fixtureService, string dateString = "")
        {
            DateTime date;

            if (dateString == "")
            {
                date = DateTime.Now;
            }
            else
            {
                date = DateTime.Parse(dateString.Substring(4, 11));
            }

            System.Diagnostics.Debug.WriteLine(date);

            IEnumerable <FixtureList> fixtureLists = await fixtureService.getDaysFixtures(date);

            FixturesViewModel viewModel = new FixturesViewModel {
                fixtureLists = fixtureLists, date = date
            };

            viewModel.predictionStats = fixtureService.getPredictionStats(new PredictionStats());

            return(View(viewModel));
        }
Beispiel #2
0
        public void AddFixturesToDateGroup_ShouldAddFixtures()
        {
            var fvm    = new FixturesViewModel();
            var actual = fvm.AddFixturesToDateGroup(fixtures);

            Assert.Equal(3, actual.Count());
        }
Beispiel #3
0
        public void AddFixturesToDateGroup_ShouldIncludeCorrectFixtureGroups()
        {
            var fvm = new FixturesViewModel();
            List <GroupedFixtures> groupedList = new List <GroupedFixtures>();
            var Jan = new GroupedFixtures()
            {
                LongName = "January", ShortName = "Jan"
            };
            var Feb = new GroupedFixtures()
            {
                LongName = "February", ShortName = "Feb"
            };
            var Mar = new GroupedFixtures()
            {
                LongName = "March", ShortName = "Mar"
            };

            Jan.Add(fixtures[0]);
            Feb.Add(fixtures[1]);
            Feb.Add(fixtures[2]);
            Mar.Add(fixtures[3]);
            Mar.Add(fixtures[4]);

            groupedList.Add(Jan);
            groupedList.Add(Feb);
            groupedList.Add(Mar);

            var expected = groupedList;
            var actual   = fvm.AddFixturesToDateGroup(fixtures);

            Assert.Equal(expected, actual);
        }
Beispiel #4
0
        public async Task <IActionResult> Fixtures(CancellationToken cancellationToken)
        {
            var model = new FixturesViewModel(_timeZoneConverter)
            {
                Tournament     = await GetPlanTournament(cancellationToken),
                PlannedMatches = await _appDb.MatchRepository.GetPlannedMatchesAsync(
                    new PredicateExpression(PlannedMatchFields.TournamentId == _siteContext.MatchPlanTournamentId), cancellationToken),
                // try to use the browser cookie
                ActiveRoundId = null,
                // Message to show after a fixture has been updated
                FixtureMessage = TempData.Get <EditFixtureViewModel.FixtureMessage>(nameof(EditFixtureViewModel.FixtureMessage))
            };

            // if called after a fixture has been updated, make sure the active round is set, so that highlighted changes are visible
            if (model.FixtureMessage != null)
            {
                model.ActiveRoundId = model.PlannedMatches.FirstOrDefault(m => m.Id == model.FixtureMessage.MatchId)?.RoundId;
            }

            if (model.Tournament == null)
            {
                _logger.LogCritical($"{nameof(_siteContext.MatchPlanTournamentId)} '{_siteContext.MatchPlanTournamentId}' does not exist. User ID: '{0}'", GetCurrentUserId());
            }

            return(View(ViewNames.Match.Fixtures, model));
        }
Beispiel #5
0
        public void SortIntoDateGroups_GroupedfixturesCountShouldBeNonZero()
        {
            var fvm = new FixturesViewModel();

            var actual = fvm.SortIntoDateGroups(fixtures);

            Assert.Equal(3, actual.Count);
        }
Beispiel #6
0
        public ActionResult Index()
        {
            FixturesViewModel model = new FixturesViewModel(
                competitionService.GetCurrentSeason().ToString(),
                teamService.GetTeamsForCurrentSeason(),
                competitionService.GetLeaguesForCurrentSeason(),
                cupService.GetCupsForCurrentSeason(),
                fixtureService.GetFixturesForCurrentSeasonFilter(-1, "N", null)
                );

            return(View(model));
        }
        public ActionResult Index(FixturesViewModel model)
        {
            model.PopulateData(
                competitionService.GetCurrentSeason().ToString(),
                teamService.GetTeamsForCurrentSeason(),
                competitionService.GetLeaguesForCurrentSeason(),
                cupService.GetCupsForCurrentSeason(),
                fixtureService.GetFixturesForCurrentSeasonFilter(model.FilterByTeamId, model.FilterByIsPlayed, model.IsFilteredByLeague(), model.IsFilteredByCup(), model.GetLeagueOrCupId())
                );

            return(View(model));
        }
Beispiel #8
0
        public void SortIntoDateGroups_RangeCollectionShouldContainJan()
        {
            var             fvm      = new FixturesViewModel();
            GroupedFixtures expected = new GroupedFixtures()
            {
                LongName = "January", ShortName = "Jan"
            };

            expected.Add(fixtures[0]);

            var actual = fvm.SortIntoDateGroups(fixtures);

            Assert.Contains(expected, actual);
        }
Beispiel #9
0
        public ActionResult Fixtures(int sportId, int leagueId)
        {
            IPinnacleApi  pinnacle = new PinnacleApi(_token);
            FixturesModel fixtures = pinnacle.GetFixturesForSportLeague(sportId, leagueId);

            FixturesViewModel fixturesVms = _mapper.Map <FixturesViewModel>(fixtures);

            if (fixturesVms != null)
            {
                return(View(fixturesVms));
            }
            else
            {
                return(View("NoData"));
            }
        }
Beispiel #10
0
        public ActionResult Index(FixturesViewModel model)
        {
            if (model == null)
            {
                return(RedirectToAction("Index"));
            }

            // TODO Pass teams and season in request?
            model.PopulateData(
                competitionService.GetCurrentSeason().ToString(),
                teamService.GetTeamsForCurrentSeason(),
                competitionService.GetLeaguesForCurrentSeason(),
                cupService.GetCupsForCurrentSeason(),
                fixtureService.GetFixturesForCurrentSeasonFilter(model.FilterByTeamId, model.FilterByIsPlayed, model.IsFilteredByLeague(), model.IsFilteredByCup(), model.GetLeagueOrCupId())
                );

            return(View(model));
        }
Beispiel #11
0
        public void GetListOfDistinctDates_ShouldReturnCorrectList()
        {
            // Arrange
            var fvm = new FixturesViewModel();

            List <string> expected = new List <string>
            {
                "2019-01-16",
                "2019-02-20",
                "2019-03-23",
                "2019-03-25"
            };

            // Actual
            var actual = fvm.GetListOfDistinctDates(fixtures);

            // Assert

            Assert.Equal(expected, actual);
        }
        public void GetFixturesByMonth_ThreeMonthsWithSixFixtures_Success()
        {
            List <Fixture> fixtures = new List <Fixture>();

            // TODO Fix this horrible stuff
            fixtures.Add(new Fixture()
            {
                FixtureDate = new DateTime(2011, 1, 1), Id = 1, HomeTeamLeague = new TeamLeague()
                {
                    TeamName = "TeamA", Team = new Team()
                    {
                        TipOffTime = "19:00"
                    }
                }, AwayTeamLeague = new TeamLeague()
                {
                    TeamName = "TeamB"
                }
            });
            fixtures.Add(new Fixture()
            {
                FixtureDate = new DateTime(2011, 1, 2), Id = 2, HomeTeamLeague = new TeamLeague()
                {
                    TeamName = "TeamA", Team = new Team()
                    {
                        TipOffTime = "19:00"
                    }
                }, AwayTeamLeague = new TeamLeague()
                {
                    TeamName = "TeamB"
                }
            });

            fixtures.Add(new Fixture()
            {
                FixtureDate = new DateTime(2011, 2, 3), Id = 3, HomeTeamLeague = new TeamLeague()
                {
                    TeamName = "TeamA", Team = new Team()
                    {
                        TipOffTime = "19:00"
                    }
                }, AwayTeamLeague = new TeamLeague()
                {
                    TeamName = "TeamB"
                }
            });
            fixtures.Add(new Fixture()
            {
                FixtureDate = new DateTime(2011, 2, 4), Id = 4, HomeTeamLeague = new TeamLeague()
                {
                    TeamName = "TeamA", Team = new Team()
                    {
                        TipOffTime = "19:00"
                    }
                }, AwayTeamLeague = new TeamLeague()
                {
                    TeamName = "TeamB"
                }
            });

            fixtures.Add(new Fixture()
            {
                FixtureDate = new DateTime(2011, 3, 22), Id = 5, HomeTeamLeague = new TeamLeague()
                {
                    TeamName = "TeamA", Team = new Team()
                    {
                        TipOffTime = "19:00"
                    }
                }, AwayTeamLeague = new TeamLeague()
                {
                    TeamName = "TeamB"
                }
            });
            fixtures.Add(new Fixture()
            {
                FixtureDate = new DateTime(2011, 3, 23), Id = 6, HomeTeamLeague = new TeamLeague()
                {
                    TeamName = "TeamA", Team = new Team()
                    {
                        TipOffTime = "19:00"
                    }
                }, AwayTeamLeague = new TeamLeague()
                {
                    TeamName = "TeamB"
                }
            });

            FixturesViewModel model = new FixturesViewModel();

            List <FixturesByMonth> list = model.GetFixturesByMonth();

            Assert.That(list.Count, Is.EqualTo(3));
            Assert.That(list[0].Month, Is.EqualTo("January 2011"));
            Assert.That(list[1].Month, Is.EqualTo("February 2011"));
            Assert.That(list[2].Month, Is.EqualTo("March 2011"));

            Assert.That(list[0].Fixtures.Count, Is.EqualTo(2));
            Assert.That(list[1].Fixtures.Count, Is.EqualTo(2));
            Assert.That(list[2].Fixtures.Count, Is.EqualTo(2));

            Assert.That(list[0].Fixtures[0].Day, Is.EqualTo("1st"));
            Assert.That(list[0].Fixtures[1].Day, Is.EqualTo("2nd"));

            Assert.That(list[1].Fixtures[0].Day, Is.EqualTo("3rd"));
            Assert.That(list[1].Fixtures[1].Day, Is.EqualTo("4th"));

            Assert.That(list[2].Fixtures[0].Day, Is.EqualTo("22nd"));
            Assert.That(list[2].Fixtures[1].Day, Is.EqualTo("23rd"));
        }
Beispiel #13
0
        public async Task <IActionResult> Index(int id)
        {
            var viewModel = new FixturesViewModel();

            var response = await _httpClient.GetAsync("fixtures/");

            response.EnsureSuccessStatusCode();

            var content = await response.Content.ReadAsStringAsync();

            List <Game> games = JsonConvert.DeserializeObject <List <Game> >(content);
            List <Game> currentGameWeekGames = new List <Game>();
            List <Game> liveGames            = new List <Game>();

            foreach (Game g in games)
            {
                if (g.Event == id)
                {
                    currentGameWeekGames.Add(g);
                }

                if (g.started ?? false)
                {
                    if (!g.finished || !g.finished_provisional)
                    {
                        if (!g.finished_provisional)
                        {
                            liveGames.Add(g);
                        }
                    }
                }

                if (g.finished || g.finished_provisional)
                {
                    if (g.team_h_score > g.team_a_score)
                    {
                        g.did_team_h_win = true;
                    }
                    else if (g.team_a_score > g.team_h_score)
                    {
                        g.did_team_a_win = true;
                    }
                }
            }

            List <GWPlayer> gwPlayerStatsLive    = new List <GWPlayer>();
            List <GWPlayer> gwPlayerStatsCurrent = new List <GWPlayer>();

            (gwPlayerStatsLive, liveGames) = await PopulateFixtureListByGameWeekId(liveGames, id);

            (gwPlayerStatsCurrent, currentGameWeekGames) = await PopulateFixtureListByGameWeekId(currentGameWeekGames, id);

            // currentGameWeekGames = await AddGameweekDataToFixtureListByGameWeekId(currentGameWeekGames, id);

            viewModel.LiveGames         = liveGames;
            viewModel.Fixtures          = currentGameWeekGames;
            viewModel.CurrentGameweekId = id;
            viewModel.GWPlayersStats    = gwPlayerStatsCurrent;

            return(View(viewModel));
        }