private void ExpandLeagueTableForm_Load(object sender, EventArgs e) { this.dataGridViewLeaguesExpand.Columns["LeagueId3"].Visible = false; this.dataGridViewLeaguesExpand.Columns["TeamId2"].Visible = false; this.dataGridViewLeaguesExpand.Columns["LeagueName2"].Visible = false; this.dataGridViewLeaguesExpand.Columns["CountryName2"].Visible = false; CompetitionInfo info = new CompetitionInfo(); string LeagueName = Competitions.LeagueId; bindingSource.DataSource = _competitionsRepository.GetCompetitonsInfo(LeagueName); dataGridViewLeaguesExpand.DataSource = bindingSource; dataGridViewLeaguesExpand.ColumnHeadersDefaultCellStyle.BackColor = Color.Black; dataGridViewLeaguesExpand.EnableHeadersVisualStyles = false; DataGridViewImageColumn Button = new DataGridViewImageColumn(); Button.Image = Image.FromFile(@"C:\Users\38599\Documents\Morningstar\Faks\2. godina\.NET\FootballData\seemore.png"); Button.Width = 20; Button.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; Button.Name = "See more"; dataGridViewLeaguesExpand.Columns.Add(Button); dataGridViewLeaguesExpand.AutoGenerateColumns = false; lblLeagueName.Text = Competitions.LeagueId; lblCountryName.Text = Competitions.lblCountryName; }
protected override void ConfigureCompetitionInfo(CompetitionInfo competitionInfo) { competitionInfo.Name = "tic-tac-toe"; competitionInfo.PlayerCount = Range <int> .Exactly(2); competitionInfo.MaxInstancesCount = 1; }
public static Competition CreateCompetition(CompetitionInfo info) { Competition Comp = CreateCompetition(info.CompetitionType); Comp.Info.Copy(info); return(Comp); }
protected override void ConfigureCompetitionInfo(CompetitionInfo competitionInfo) { competitionInfo.Name = "prisoner-dilemma"; competitionInfo.PlayerCount = Range <int> .Between(2, 2); competitionInfo.MaxInstancesCount = 3; }
/** * Function to get the info of an speficic competition * @param string token. * The secret token key of the api. * @param string leagueid. * The id of the competition in the api. * @param IHttpClientFactory _http. * @return CompetitionInfo. * The competition info */ /// <summary> /// Get the info of a competition /// </summary> /// <param name="token">The secret token key of the api</param> /// <param name="leagueid">The id of the competition in the api</param> /// <param name="_http">The http factory</param> /// <returns>The competition info</returns> /// See <see cref="ScheduledTasks.VirtualBets.Models.CompetitionInfo"/> to know the response structure public async static Task <CompetitionInfo> getCompetitionInfo(string token, string leagueid, IHttpClientFactory _http) { string path = "competitions/" + leagueid; string result = await getRequest(path, _http, token); try { CompetitionInfo comptInfo = JsonConvert.DeserializeObject <CompetitionInfo>(result); return(comptInfo); } catch (Exception) //Some kind of error { try //If ok the error is that we only can do 10 requests per min { ErrorFootballApiMessage err = JsonConvert.DeserializeObject <ErrorFootballApiMessage>(result); Thread.Sleep(new TimeSpan(0, 1, 0)); //Wait a minute retry if (err.errorCode == 429) { return(await getCompetitionInfo(token, leagueid, _http)); } return(null); } catch (Exception) { return(null); } } }
private void comboBoxLeagues_SelectedIndexChanged(object sender, EventArgs e) { CompetitionInfo info = new CompetitionInfo(); string LeagueName = comboBoxLeagues.SelectedItem.ToString(); tableBindingSource.DataSource = _competitionsRepository.GetCompetitonsInfoShort(LeagueName); dataGridViewLeagues.DataSource = tableBindingSource.DataSource; LeagueId = comboBoxLeagues.SelectedItem.ToString(); Fixtures fixtures = new Fixtures(); fixtures.LeagueName = comboBoxLeagues.SelectedItem.ToString(); LeagueName = comboBoxLeagues.SelectedItem.ToString(); tableBindingSource2.DataSource = _competitionsRepository.GetFixtures(fixtures); dataGridViewFixtures.DataSource = tableBindingSource2; dataGridViewLeagues.Visible = true; dataGridViewFixtures.Visible = true; lblStandings.Visible = true; labelGames.Visible = true; btnExpand.Visible = true; panelImage.Visible = false; lblWelcome.Visible = false; lblSearch.Visible = true; textBoxSearch.Visible = true; lblSubscribe.Visible = true; txtMail.Visible = true; btnSubscribe.Visible = true; btnResults.Visible = true; btnExport.Visible = true; }
private void btnRefresh_Click(object sender, EventArgs e) { CompetitionInfo info = new CompetitionInfo(); info.LeagueName = comboBoxLeagues.SelectedItem.ToString(); tableBindingSource.DataSource = _competitionsRepository.refreshInfo(info); dataGridViewLeagues.DataSource = tableBindingSource.DataSource; }
private void textBoxSearch2_TextChanged_1(object sender, EventArgs e) { string clubName = textBoxSearch2.Text; CompetitionInfo competitionInfo = new CompetitionInfo(); string LeagueName = Competitions.LeagueId; var clubs = _competitionsRepository.GetCompetitonsInfo(LeagueName); List <CompetitionInfo> clubNames = clubs.Where(xx => xx.clubName.ToLower().Contains(clubName.ToLower())).ToList(); bindingSource.DataSource = clubNames; dataGridViewLeaguesExpand.DataSource = bindingSource; }
// TODO update protected TableTennisTournamentPlayerVM mapToViewModel(CompetitionInfo competitionInfo, TableTennisCompetitorInfo phaseInfo) { TableTennisTournamentPlayerVM viewModel = new TableTennisTournamentPlayerVM() { CompetitorId = competitionInfo.Id, DisplayName = competitionInfo.Name, Wins = phaseInfo.Wins, Sets = phaseInfo.Sets, Placement = phaseInfo.Placement }; return(viewModel); }
public List <TableTennisTournamentPlayerVM> GeneratePlayersViewModel(List <PhaseCompetitorInfos> phaseCompetitorInfos) { List <TableTennisTournamentPlayerVM> players = new List <TableTennisTournamentPlayerVM>(); foreach (var phaseCompetitorInfo in phaseCompetitorInfos) { var phaseInfo = GetNewCompetitorInfo(); phaseInfo.PopulateObject(phaseCompetitorInfo.PhaseInfoJSON); var competitionInfo = CompetitionInfo.DeserializeObject(phaseCompetitorInfo.CompetitionInfoJSON); competitionInfo.Id = phaseCompetitorInfo.CompetitorId; players.Add(mapToViewModel(competitionInfo, phaseInfo)); } return(players); }
public List <CompetitionInfo> GetCompetitors(int competitionId) { List <CompetitionInfo> infos = new List <CompetitionInfo>(); var competitors = DbContext.Competitors .Include("Player") .Where(x => x.IdCompetition == competitionId) .Select(x => new { x.Id, x.CompetitionInfo }).ToList(); foreach (var competitor in competitors) { var newInfo = new CompetitionInfo(); newInfo.PopulateObject(competitor.CompetitionInfo); newInfo.Id = competitor.Id; infos.Add(newInfo); } return(infos.OrderBy(x => x.Id).ToList()); }
// // ────────────────────────────────────────────────────────────────────────────────── // :::::: P U B L I C F U N C T I O N S : : : : : : : : // ────────────────────────────────────────────────────────────────────────────────── // /// <summary> /// Initializes or updates the matchs and teams of a competition /// </summary> /// <param name="leagueId">The id in the api of the competition</param> public async Task InitializeAsync(string leagueId) { string token = _configuration["footballApi:token"]; bool correct = true; CompetitionMatches comptMatchs = await APIRequest.getMatchesFromCompetition(token, leagueId, _http); CompetitionInfo comptInfo = await APIRequest.getCompetitionInfo(token, leagueId, _http); if (comptInfo == null) { return; } int actualMatchD = comptInfo.currentSeason.currentMatchday + 1; Competition league = FootballInitializers.initializeLeague(comptMatchs.competition.name, _context); comptMatchs.matches.ForEach(match => { if (match.matchday <= actualMatchD) { Team homeTeam = FootballInitializers.initializeTeam(match.homeTeam.name, _context); Team awayTeam = FootballInitializers.initializeTeam(match.awayTeam.name, _context); //There is any error inserting or updating the new matchday if (!FootballInitializers.updateMatchDay(match, league, homeTeam, awayTeam, _context)) { correct = false; } } }); league.actualMatchDay = actualMatchD; _context.Competitions.Update(league); //Set the actual matchday if (correct) { _context.SaveChanges(); } }
public static bool Edit(CompetitionInfo info) { fCompetitionInfo form = new fCompetitionInfo(); form.cbxChangesRating.Checked = info.ChangesRating; form.txtCompetitionName.Text = info.Name; form.cbxGameType.Items.AddRange(Globals.Games.Values.ToArray()); form.cbxGameType.SelectedItem = info.SportType; form.cbxCompetitionType.Items.Clear(); form.cbxCompetitionType.Items.AddRange(CompetitionType.TypeList.Values.ToArray()); form.cbxCompetitionType.SelectedItem = info.CompetitionType; if (form.ShowDialog() == DialogResult.OK) { info.Name = form.txtCompetitionName.Text.Trim(); info.SportType = (TypeOfSport)(form.cbxGameType.SelectedItem); info.CompetitionType = form.cbxCompetitionType.SelectedItem as CompetitionType; info.ChangesRating = form.cbxChangesRating.Checked && form.cbxChangesRating.Enabled; return(true); } return(false); }
private void btnCompetitionAdd_Click(object sender, EventArgs e) { #if BETA if (FTournament.Competitions.Count >= EditionManager.MaxTournamentCount) { WindowSkin.MessageBox.Show(Localizator.Dictionary.GetString("BETA_LIMIT_COMPETITIONS")); return; } #endif CompetitionInfo info = new CompetitionInfo(); info.TournamentId = FTournament.Info.Id; info.Date = FTournament.Info.DateBegin; if (fCompetitionInfo.Edit(info)) { Competition competition = CompetitionFactory.CreateCompetition(info); DatabaseManager.CurrentDb.CompetitionInfoSave(competition.Info); FTournament.Competitions.Add(competition.Info.Id, competition); fCompetition.Edit(competition); } UpdateCompetitionGrid(); }
public Dictionary <int, Competitor> InsertNewCompetitors(Competition competition, List <CompetitorCreationInfoDTO> competitors) { Dictionary <int, Competitor> newCompetitors = new Dictionary <int, Competitor>(); foreach (var competitor in competitors) { var player = new Player(); player.DisplayName = competitor.Name; DbContext.Players.Add(player); var competitorInfo = new CompetitionInfo(competitor); var dbCompetitor = new Competitor() { Player = player, Competition = competition, CompetitionInfo = competitorInfo.SerializeObject() }; DbContext.Competitors.Add(dbCompetitor); newCompetitors.Add(competitor.Id, dbCompetitor); } return(newCompetitors); }
public void UpdateCompetitors(int competitionId, List <CompetitorCreationInfoDTO> competitors) { var existingCompetitors = DbContext.Competitors.Where(x => x.IdCompetition == competitionId).ToList(); var newCompetitors = new List <CompetitorCreationInfoDTO>(); var competitorsToRemove = new List <Competitor>(); foreach (var existingCompetitor in existingCompetitors) { if (!competitors.Any(x => x.Id == existingCompetitor.Id)) { competitorsToRemove.Add(existingCompetitor); } else { var competitorInfo = new CompetitionInfo(competitors.FirstOrDefault(x => x.Id == existingCompetitor.Id)); existingCompetitor.CompetitionInfo = competitorInfo.SerializeObject(); competitors.RemoveAt(competitors.FindIndex(x => x.Id == existingCompetitor.Id)); } } DbContext.Competitors.RemoveRange(competitorsToRemove); InsertNewCompetitors(DbContext.Competitions.First(x => x.Id == competitionId), competitors); }
protected override void OnMouseMove(MouseEventArgs e) { base.OnMouseMove(e); if (RS == null) { return; } Point cell; if (MouseToCell(e.Location, out cell) && (RS.Players.Count > cell.Y) && (RS.Competitions.Count > cell.X) && (cell.X - ViewColFrom < VisibleColCount)) { Point loc = Rect_Results.Location; loc.Offset((cell.X - ViewColFrom + 1) * ColWidth_C - ColWidth_C / 2, (cell.Y - ViewRowFrom) * Height_Row + 2 - pnlInfo.Height); //lblCellInfo.Text = String.Format("{0}x{1}", cell.X, cell.Y); pnlInfo.Location = loc; int playerId = FPlayers[cell.Y].Id; CompetitionInfo comp = RS.Competitions[cell.X]; if (comp.Results.ContainsKey(playerId)) { PlayersCompetitionResult res = comp.Results[playerId]; lblInfoRatingBegin.Text = res.RatingBegin.ToString(); lblInfoDelta.Text = res.Delta.ToString(); lblInfoPenalty.Text = (res.Penalty == 0) ? "-" : res.Penalty.ToString(); lblInfoRating.Text = (res.RatingBegin + res.Delta).ToString(); pnlInfo.Visible = true; pnlInfo.BringToFront(); } else { pnlInfo.Visible = false; } } else { pnlInfo.Visible = false; } }
public static async Task <TeamsInfo> GetTeams(this CompetitionInfo info) => await Rest.Get <TeamsInfo>(info.Links.Teams.Href);
public static async Task <FixturesInfo> GetFixtures(this CompetitionInfo info) => await Rest.Get <FixturesInfo>(info.Links.Fixtures.Href);
public static async Task <LeagueTable> GetLeagueTable(this CompetitionInfo info) => await Rest.Get <LeagueTable>(info.Links.LeagueTable.Href);
public static async Task <LeagueTable> GetLeagueTable(this CompetitionInfo info, int matchDay) => await Rest.Get <LeagueTable>($"{info.Links.LeagueTable.Href}?matchday={matchDay}");