void FillWeeklySchedule(int competitionID) { string currentWeek = BCrawler.GetCurrentWeek(competitionID); Task <List <Fixture> > currentFixtures = Task.Run(async() => await BCrawler.GetOpenFixtureByCompetition(competitionID, currentWeek)); DataTable dt = new DataTable(); dt.Columns.Add("HomeTeam"); dt.Columns.Add("AwayTeam"); foreach (var item in currentFixtures.Result) { dt.Rows.Add(item.HomeTeam.TeamName, item.AwayTeam.TeamName); } gridFixture.DataSource = dt; cmbStartWeek.Items.Clear(); cmbEndWeek.Items.Clear(); int maxwWeek = Int32.Parse(currentWeek); for (int i = 1; i <= maxwWeek; i++) { cmbStartWeek.Items.Add(i); cmbEndWeek.Items.Add(i); } cmbStartWeek.SelectedIndex = 0; cmbEndWeek.SelectedIndex = maxwWeek - 1; }
List <TeamStats> CalculateFixtureStats(string homeTeam, string awayTeam) { //int homeTeamID = DataHelper.GetTeamIDByName(homeTeam); List <TeamStats> teamStats = new List <TeamStats>(); List <Fixture> AwayTeamFixtures = BCrawler.GetCurrentSeasonFixturesByTeam(DataHelper.GetTeamIDByName(awayTeam)); TeamStats AwayStats = new TeamStats(); AwayStats.OverPercentageSeason = Convert.ToDouble(AwayTeamFixtures.Where(a => a.IsOver).Count()) / AwayTeamFixtures.Count; AwayStats.OverPercentageHome = Convert.ToDouble(AwayTeamFixtures.Where(a => a.IsOver && a.HomeTeam.TeamName == awayTeam).Count()) / AwayTeamFixtures.Where(a => a.HomeTeam.TeamName == awayTeam).Count(); AwayStats.OverPercentageAway = Convert.ToDouble(AwayTeamFixtures.Where(a => a.IsOver && a.AwayTeam.TeamName == awayTeam).Count()) / AwayTeamFixtures.Where(a => a.AwayTeam.TeamName == awayTeam).Count(); List <Fixture> HomeTeamFixtures = BCrawler.GetCurrentSeasonFixturesByTeam(DataHelper.GetTeamIDByName(homeTeam)); TeamStats HomeStats = new TeamStats(); HomeStats.OverPercentageSeason = Convert.ToDouble(HomeTeamFixtures.Where(a => a.IsOver).Count()) / HomeTeamFixtures.Count; HomeStats.OverPercentageHome = Convert.ToDouble(HomeTeamFixtures.Where(a => a.IsOver && a.HomeTeam.TeamName == homeTeam).Count()) / AwayTeamFixtures.Where(a => a.HomeTeam.TeamName == awayTeam).Count(); HomeStats.OverPercentageAway = Convert.ToDouble(HomeTeamFixtures.Where(a => a.IsOver && a.HomeTeam.TeamName == awayTeam).Count()) / AwayTeamFixtures.Where(a => a.AwayTeam.TeamName == awayTeam).Count(); //HomeStats.OverPercentageSelectedWeeks = Convert.ToDouble(HomeTeamFixtures.Skip(HomeTeamFixtures.Count() - 3).Where(a => a.IsOver).Count()) / 3; HomeStats.OverPercentageSelectedWeeks = Convert.ToDouble(HomeTeamFixtures.Take(Convert.ToInt32(cmbEndWeek.SelectedItem)). Skip(Convert.ToInt32(cmbStartWeek.SelectedItem)).Where(a => a.IsOver).Count()) / 3; if (grpBetweenWeeks.Enabled) { List <Fixture> HomeFixturesSelected = HomeTeamFixtures.Skip(Convert.ToInt32(cmbStartWeek.SelectedItem) - 1). Take(Convert.ToInt32(cmbEndWeek.SelectedItem) + 1 - Convert.ToInt32(cmbStartWeek.SelectedItem)).ToList(); HomeStats.OverPercentageSelectedWeeks = Convert.ToDouble(HomeFixturesSelected.Where(a => a.IsOver).Count()) / HomeFixturesSelected.Count(); List <Fixture> AwayFixturesSelected = AwayTeamFixtures.Skip(Convert.ToInt32(cmbStartWeek.SelectedItem) - 1). Take(Convert.ToInt32(cmbEndWeek.SelectedItem) + 1 - Convert.ToInt32(cmbStartWeek.SelectedItem)).ToList(); AwayStats.OverPercentageSelectedWeeks = Convert.ToDouble(AwayFixturesSelected.Where(a => a.IsOver).Count()) / AwayFixturesSelected.Count(); } else { HomeStats.OverPercentageSelectedWeeks = Convert.ToDouble(HomeTeamFixtures.Skip(HomeTeamFixtures.Count() - 3).Where(a => a.IsOver).Count()) / 3; AwayStats.OverPercentageSelectedWeeks = Convert.ToDouble(AwayTeamFixtures.Skip(AwayTeamFixtures.Count() - 3).Where(a => a.IsOver).Count()) / 3; } teamStats.Add(HomeStats); teamStats.Add(AwayStats); return(teamStats); /* * DataTable dt = new DataTable(); * dt.Columns.Add("Takım"); * dt.Columns.Add("Sezonluk üst oranı"); * dt.Rows.Add(awayTeam, AwayStats.OverPercentageAway); * XLWorkbook wb = new XLWorkbook(); * wb.Worksheets.Add(dt, "Stats"); * wb.SaveAs(AppDomain.CurrentDomain.BaseDirectory + "\\" + homeTeam + "_" + awayTeam + ".xlsx"); */ }