public static void CreateCompetitionArchive(string excelFileName, Competition c) { foreach (Team t in c.Teams) { string fileName = Application.StartupPath + Helper.GetTeamArchiveFileName(c, t); if (File.Exists(fileName) == false) CreateCXMLDocument(fileName, t); } XLWorkbook xLWorkbook = new XLWorkbook(); CreateDbStylesheet(c, xLWorkbook); CreateScheduleStylesheet(c, xLWorkbook, false); MemoryStream ms = new MemoryStream(); xLWorkbook.SaveAs(ms); FileStream file = new FileStream(excelFileName, FileMode.Create, FileAccess.Write); ms.WriteTo(file); file.Close(); ms.Close(); }
private static void CreateScheduleStylesheet(Competition c, XLWorkbook xLWorkbook, bool updateMode) { var dbWorksheet = xLWorkbook.Worksheet("DB"); int i = 0, m = 0; int dbrow, dbcolumn, linkedTeamIndex; Team linkedTeam; List<Match> teamSchedule; try { var templateWorksheet = new XLWorkbook(Application.StartupPath + Helper.GetTemplateFileName()); var matchWorksheet = templateWorksheet.Worksheet("Match"); var matchHomeRange = matchWorksheet.Range("A1", "Y8"); IXLWorksheet iXLWorksheet; if (updateMode == false) { iXLWorksheet = xLWorkbook.Worksheets.Add("Schedule"); iXLWorksheet.Position = 2; iXLWorksheet.ColumnWidth = 2.57; iXLWorksheet.Columns(1, 1).Width = 5.14 * 0.7; iXLWorksheet.Style.Font.Bold = true; iXLWorksheet.Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; iXLWorksheet.Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; } else { iXLWorksheet = xLWorkbook.Worksheet("Schedule"); } for (i = 0; i < c.Teams.Count; i++) { teamSchedule = c.Teams[i].Schedule; int row = i / 6; int column = i % 6; var range = iXLWorksheet.Range(1, (i * 26) + 3, 1, (i * 26) + 26).Merge(); range.Value = c.Teams[i].TeamName; range.Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; iXLWorksheet.Row(1 + row * 8).Height = 31.5 * 0.70; iXLWorksheet.Cell(1, (i * 26) + 3).Hyperlink = new XLHyperlink(c.Teams[i].Url); iXLWorksheet.Cell(1, (i * 26) + 3).Style.Font.SetFontSize(25); range.Style.Font.Bold = true; range.Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; range.Style.Fill.BackgroundColor = XLColor.FromArgb(255, 255, 0); for (m = 0; m < teamSchedule.Count; m++) { iXLWorksheet.Row((m + 1) * 8 + 2).Style.Fill.BackgroundColor = XLColor.LightGray; //MATCH DAY var mdCell = iXLWorksheet.Cell(m * 8 + 6, 1); mdCell.Style.Font.SetFontSize(14); mdCell.Value = (m + 1).ToString(); mdCell.Style.Font.Bold = true; mdCell.Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; mdCell.Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; mdCell.Style.Fill.BackgroundColor = XLColor.FromArgb(193, 239, 255); //MATCH DATE if (teamSchedule[m].Date.HasValue) { var mdate = teamSchedule[m].Date.Value.ToString("dd.MM.yyyy"); var mdatecell = iXLWorksheet.Cell(m * 8 + 9, i * 26 + 2); mdatecell.Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left; mdatecell.Style.Font.SetFontColor(XLColor.FromArgb(15, 26, 62)); mdatecell.Style.Fill.SetBackgroundColor(XLColor.LightGray); mdatecell.Style.Font.Bold = true; mdatecell.Style.Font.SetFontSize(8); mdatecell.Style.Font.Italic = true; mdatecell.WorksheetColumn().Width = 8.71; mdatecell.Value = mdate; mdatecell.Hyperlink = new XLHyperlink(teamSchedule[m].MatchReportUrl); var mtime = teamSchedule[m].Date.Value.ToString("HH:mm"); var mtimecell = iXLWorksheet.Cell(m * 8 + 10, i * 26 + 2); mtimecell.Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left; mtimecell.Style.Font.SetFontColor(XLColor.FromArgb(15, 26, 62)); mtimecell.Style.Font.Bold = true; mtimecell.Style.Font.SetFontSize(8); mtimecell.Style.Font.Italic = true; mtimecell.Style.Fill.SetBackgroundColor(XLColor.LightGray); mtimecell.WorksheetColumn().Width = 8.71; mtimecell.Value = mtime; mtimecell.Hyperlink = new XLHyperlink(teamSchedule[m].MatchReportUrl); } var sc = iXLWorksheet.Cell((m * 8 + 2), 3 + i * 26); //HOME var scr = sc.CellBelow(); scr.WorksheetRow().Height = 15.075 * 0.70; sc = sc.CellBelow(); sc.WorksheetRow().Height = 15.075 * 0.70; if (updateMode == false) { scr = iXLWorksheet.Cell(8 * m + 3, 26 * i + 3); matchHomeRange.CopyTo(scr); } for (int j = 0; j < 6; j++) { for (int k = 0; k < 10; k++) { #region home linkedTeam = c.Teams.Where(t => t.TeamId == teamSchedule[m].HomeTeam.TeamId).FirstOrDefault(); linkedTeamIndex = c.Teams.IndexOf(linkedTeam); if (linkedTeam != null) { dbrow = linkedTeamIndex / 6; dbcolumn = linkedTeamIndex % 6; scr = iXLWorksheet.Cell(8 * m + 4 + j, 26 * i + 3 + k); scr.WorksheetRow().Height = 15.75 * 0.70; if (updateMode == true) { if (DateTime.Now <= teamSchedule[m].Date) scr.FormulaA1 = "DB!" + dbWorksheet.Cell(dbrow * 8 + 3 + j, dbcolumn * 11 + 2 + k).Address.ToString(); else { if (scr.FormulaA1 != "") { scr.Value = scr.ValueCached; scr.FormulaA1 = null; } } } else scr.FormulaA1 = "DB!" + dbWorksheet.Cell(dbrow * 8 + 3 + j, dbcolumn * 11 + 2 + k).Address.ToString(); } #endregion #region away linkedTeam = c.Teams.Where(t => t.TeamId == teamSchedule[m].VisitingTeam.TeamId).FirstOrDefault(); linkedTeamIndex = c.Teams.IndexOf(linkedTeam); if (linkedTeam != null) { dbrow = linkedTeamIndex / 6; dbcolumn = linkedTeamIndex % 6; scr = iXLWorksheet.Cell(8 * m + 4 + j, 26 * i + 14 + k); scr.WorksheetRow().Height = 15.75 * 0.70; if (updateMode == true) { if (DateTime.Now <= teamSchedule[m].Date) scr.FormulaA1 = "DB!" + dbWorksheet.Cell(dbrow * 8 + 3 + j, dbcolumn * 11 + 2 + k).Address.ToString(); else { if (scr.FormulaA1 != "") { scr.Value = scr.ValueCached; scr.FormulaA1 = null; } } } else scr.FormulaA1 = "DB!" + dbWorksheet.Cell(dbrow * 8 + 3 + j, dbcolumn * 11 + 2 + k).Address.ToString(); } #endregion } } sc = sc.CellBelow(); sc = iXLWorksheet.Cell(8 * m + 10, 26 * i + 3); sc.Style.Font.SetFontSize(10); var cellRange = iXLWorksheet.Cell(sc.Address.RowNumber, sc.Address.ColumnNumber); if (teamSchedule[m].HomeTeam.Url != null) sc.Hyperlink = new XLHyperlink(teamSchedule[m].HomeTeam.Url); if (teamSchedule[m].Date.HasValue) sc.Value = teamSchedule[m].HomeTeam.TeamName; else sc.Value = "" + " - " + teamSchedule[m].HomeTeam.TeamName; sc.Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left; var val = iXLWorksheet.Cell(8 * m + 5, 13).Value; //AWAY sc = iXLWorksheet.Cell((m * 8 + 2), 3 + i * 26 + 11); scr = sc.CellBelow(); scr.WorksheetRow().Height = 15.075 * 0.70; sc = sc.CellBelow(); sc.WorksheetRow().Height = 15.075 * 0.70; sc = iXLWorksheet.Cell(8 * m + 10, 26 * i + 14); sc.WorksheetRow().Height = 15.075 * 0.70; sc.Style.Font.SetFontSize(10); cellRange = iXLWorksheet.Cell(sc.Address.RowNumber, sc.Address.ColumnNumber); cellRange.Value = teamSchedule[m].VisitingTeam.TeamName; if (teamSchedule[m].VisitingTeam.Url != null) sc.Hyperlink = new XLHyperlink(teamSchedule[m].VisitingTeam.Url); sc.Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left; #region RESULT //RESULT string res = teamSchedule[m].Result; string hg = res.Split(':')[0]; string ag = res.Split(':')[1].Trim(); if (ag.Contains(" ")) ag = ag.Substring(0, ag.IndexOf(" ")).Trim(); var hgCell = iXLWorksheet.Cell((8 * m) + 6, 26 * (i + 1) - 13); var agCell = iXLWorksheet.Cell((8 * m) + 6, 26 * (i + 1) - 2); hgCell.Value = hg; hgCell.Hyperlink = new XLHyperlink(teamSchedule[m].MatchReportUrl); agCell.Value = ag; agCell.Hyperlink = new XLHyperlink(teamSchedule[m].MatchReportUrl); hgCell.Style.Font.SetFontSize(14); hgCell.Style.Font.SetFontColor(XLColor.Black); agCell.Style.Font.SetFontSize(14); agCell.Style.Font.SetFontColor(XLColor.Black); if (hg != "-" & ag != "-") { if (teamSchedule[m].HomeTeam.TeamId == c.Teams[i].TeamId) { if (int.Parse(hg) > int.Parse(ag)) { hgCell.Style.Fill.BackgroundColor = XLColor.Green; agCell.Style.Fill.BackgroundColor = XLColor.Green; hgCell.Style.Font.FontColor = XLColor.White; agCell.Style.Font.FontColor = XLColor.White; } else if (int.Parse(hg) == int.Parse(ag)) { hgCell.Style.Fill.BackgroundColor = XLColor.FromArgb(0, 176, 240); agCell.Style.Fill.BackgroundColor = XLColor.FromArgb(0, 176, 240); } else { hgCell.Style.Fill.BackgroundColor = XLColor.Red; agCell.Style.Fill.BackgroundColor = XLColor.Red; hgCell.Style.Font.FontColor = XLColor.White; agCell.Style.Font.FontColor = XLColor.White; } } else { if (int.Parse(hg) > int.Parse(ag)) { hgCell.Style.Fill.BackgroundColor = XLColor.Red; agCell.Style.Fill.BackgroundColor = XLColor.Red; hgCell.Style.Font.FontColor = XLColor.White; agCell.Style.Font.FontColor = XLColor.White; } else if (int.Parse(hg) == int.Parse(ag)) { hgCell.Style.Fill.BackgroundColor = XLColor.FromArgb(0, 176, 240); agCell.Style.Fill.BackgroundColor = XLColor.FromArgb(0, 176, 240); } else { hgCell.Style.Fill.BackgroundColor = XLColor.Green; agCell.Style.Fill.BackgroundColor = XLColor.Green; hgCell.Style.Font.FontColor = XLColor.White; agCell.Style.Font.FontColor = XLColor.White; } } } else { hgCell.Style.Fill.BackgroundColor = XLColor.LightGray; agCell.Style.Fill.BackgroundColor = XLColor.LightGray; hgCell.Style.Font.FontColor = XLColor.Black; agCell.Style.Font.FontColor = XLColor.Black; } hgCell.Style.Font.Bold = true; agCell.Style.Font.Bold = true; #endregion } } } catch (Exception ex) { Logger.Exception(ex); MessageBox.Show(ex.Message); } }
private static void CreateDbStylesheet(Competition c, XLWorkbook xLWorkbook) { IXLWorksheet iXLWorksheet = xLWorkbook.Worksheets.Add("DB"); iXLWorksheet.ColumnWidth = 2; iXLWorksheet.Style.Font.SetFontSize(8); Dictionary<string, string> ranges = new Dictionary<string, string>(); ranges.Add("B", "K"); ranges.Add("M", "V"); ranges.Add("X", "AG"); ranges.Add("AI", "AR"); ranges.Add("AT", "BC"); ranges.Add("BE", "BN"); string[] headers = new string[] { "UU", "GU", "AU", "MU", "MPG", "0", "GU", "AU", "GU", "AU" }; XLColor[][] colormatrix = new XLColor[10][]; colormatrix[0] = new XLColor[] { XLColor.FromArgb(255, 192, 0), XLColor.FromArgb(255, 192, 0), XLColor.FromArgb(255, 192, 0), XLColor.FromArgb(255, 192, 0), XLColor.FromArgb(255, 192, 0), XLColor.FromArgb(255, 192, 0), XLColor.FromArgb(255, 192, 0), XLColor.FromArgb(255, 192, 0), XLColor.FromArgb(255, 192, 0), XLColor.FromArgb(255, 192, 0) }; colormatrix[1] = new XLColor[] { XLColor.FromArgb(0, 176, 80), XLColor.FromArgb(146, 208, 80), XLColor.FromArgb(146, 208, 80), XLColor.FromArgb(146, 208, 80), XLColor.FromArgb(146, 208, 80), XLColor.FromArgb(0, 176, 80), XLColor.FromArgb(169, 208, 142), XLColor.FromArgb(169, 208, 142), XLColor.FromArgb(137, 207, 240), XLColor.FromArgb(137, 207, 240) }; colormatrix[2] = new XLColor[] { XLColor.FromArgb(0, 176, 80), XLColor.FromArgb(255, 201, 105), XLColor.FromArgb(255, 201, 105), XLColor.FromArgb(255, 201, 105), XLColor.FromArgb(255, 201, 105), XLColor.FromArgb(0, 176, 80), XLColor.FromArgb(255, 255, 255), XLColor.FromArgb(255, 255, 255), XLColor.FromArgb(144, 238, 144), XLColor.FromArgb(144, 238, 144) }; colormatrix[3] = new XLColor[] { XLColor.FromArgb(137, 207, 240), XLColor.FromArgb(191, 143, 0), XLColor.FromArgb(191, 143, 0), XLColor.FromArgb(191, 143, 0), XLColor.FromArgb(191, 143, 0), XLColor.FromArgb(0, 176, 80), XLColor.FromArgb(255, 255, 255), XLColor.FromArgb(255, 255, 255), XLColor.FromArgb(137, 207, 240), XLColor.FromArgb(137, 207, 240) }; colormatrix[4] = new XLColor[] { XLColor.FromArgb(144, 238, 144), XLColor.FromArgb(255, 255, 255), XLColor.FromArgb(255, 255, 255), XLColor.FromArgb(255, 255, 255), XLColor.FromArgb(255, 255, 255), XLColor.FromArgb(0, 176, 80), XLColor.FromArgb(255, 255, 255), XLColor.FromArgb(255, 255, 255), XLColor.FromArgb(255, 201, 105), XLColor.FromArgb(255, 201, 105) }; colormatrix[5] = new XLColor[] { XLColor.FromArgb(255, 201, 105), XLColor.FromArgb(255, 255, 255), XLColor.FromArgb(255, 255, 255), XLColor.FromArgb(255, 255, 255), XLColor.FromArgb(255, 255, 255), XLColor.FromArgb(169, 208, 142), XLColor.FromArgb(255, 201, 105), XLColor.FromArgb(191, 143, 0), XLColor.FromArgb(137, 207, 240), XLColor.FromArgb(137, 207, 240) }; colormatrix[6] = new XLColor[] { XLColor.FromArgb(169, 208, 142), XLColor.FromArgb(169, 208, 142), XLColor.FromArgb(169, 208, 142), XLColor.FromArgb(169, 208, 142), XLColor.FromArgb(255, 255, 255), XLColor.FromArgb(189, 146, 222), XLColor.FromArgb(255, 255, 255), XLColor.FromArgb(255, 255, 255), XLColor.FromArgb(191, 143, 0), XLColor.FromArgb(191, 143, 0) }; int numberOfRows = ranges.Count; IXLCell scr = null; for (int i = 0; i < c.Teams.Count; i++) { int row = i / 6; int column = i % 6; KeyValuePair<string, string> kvp = ranges.ElementAt(column); iXLWorksheet.Range(kvp.Key + (1 + row * 8).ToString(), kvp.Value + (1 + row * 8).ToString()).Merge().Value = c.Teams[i].TeamName; iXLWorksheet.Range(kvp.Key + (1 + row * 8).ToString(), kvp.Value + (1 + row * 8).ToString()).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; iXLWorksheet.Row(1 + row * 8).Height = 24.75 * 0.75; iXLWorksheet.Cell(kvp.Key + (1 + row * 8).ToString()).Hyperlink = new XLHyperlink(c.Teams[i].Url);// URL?? iXLWorksheet.Cell(kvp.Key + (1 + row * 8).ToString()).Style.Font.SetFontSize(12); iXLWorksheet.Range(kvp.Key + (1 + row * 8).ToString(), kvp.Value + (1 + row * 8).ToString()).Style.Font.Bold = true; iXLWorksheet.Range(kvp.Key + (1 + row * 8).ToString(), kvp.Value + (1 + row * 8).ToString()).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; iXLWorksheet.Range(kvp.Key + (1 + row * 8).ToString(), kvp.Value + (1 + row * 8).ToString()).Style.Fill.BackgroundColor = XLColor.FromArgb(255, 255, 0); var sc = iXLWorksheet.Cell(kvp.Key + (1 + row * 8).ToString()); scr = sc.CellBelow(); sc = sc.CellBelow(); for (int l = 0; l < headers.Length; l++) { scr.Value = headers[l]; scr.Style.Fill.BackgroundColor = colormatrix[0][l]; scr = scr.CellRight(); } for (int j = 0; j < 6; j++) { scr = sc.CellBelow(); sc = sc.CellBelow(); for (int k = 0; k < 10; k++) { scr.Style.Fill.BackgroundColor = colormatrix[j + 1][k]; scr.Style.Border.SetBottomBorder(XLBorderStyleValues.Thin); scr.Style.Border.OutsideBorder = XLBorderStyleValues.Thin; scr.Value = 0; scr.FormulaA1 = "'" + Application.StartupPath + Helper.GetCompetitionArchiveDirectoryName(c) + "\\[" + c.Teams[i].TeamName.NormalizeString() + ".xlsx]" + c.Teams[i].TeamName.NormalizeString().Left(31) + "'!" + iXLWorksheet.Cell(237 + j, 8 + k).Address.ToString(); scr = scr.CellRight(); } } } }
public static void UpdateCompetitionArchive(string excelFileName, Competition c) { try { XLWorkbook xLWorkbook = new XLWorkbook(excelFileName); CreateScheduleStylesheet(c, xLWorkbook, true); xLWorkbook.Save(); } catch (Exception ex) { if (ex.Message.Contains("being used")) MessageBox.Show("Zatvori arhivu pa pokusaj opet!"); else MessageBox.Show("Greska!"); } }
public static string GetTeamArchiveFileName(Competition c,Team t) { return "\\cache\\arhiva\\" + c.CompetitionCountry.NormalizeString()+ "\\" + c.CompetitionName.NormalizeString()+ "\\" + t.TeamName.NormalizeString()+ ".xlsx"; }
public static string GetCompetitionArchiveDirectoryName(Competition c) { return "\\cache\\arhiva\\" + c.CompetitionCountry.NormalizeString() + "\\" + c.CompetitionName.NormalizeString(); }
public static string GetCompetitionArchiveFileName(Competition c) { return "\\cache\\arhiva\\" + c.CompetitionCountry.NormalizeString() + "\\" + c.CompetitionName.NormalizeString() + "\\" + "_" + c.CompetitionName.NormalizeString().ToUpper() + ".xlsx"; }
private void UpdateCompetitionAlternativeName(Competition c) { try { StreamReader sr = new StreamReader(Application.StartupPath + Helper.GetCompetitionListFileName()); List<string> lines = new List<string>(); while (sr.EndOfStream == false) { string line = sr.ReadLine(); if (line.Contains(c.CompetitionId + "|" + c.CompetitionName)) { var parts = line.Split('|'); var anames = ""; foreach (var an in c.AlternativeName) anames += "," + an; anames = anames.Substring(1); if (parts.Count() == 4) line += "|" + anames; else line = line.Substring(0, line.LastIndexOf("|") + 1) + anames; } lines.Add(line); } sr.Close(); StreamWriter sw = new StreamWriter(Application.StartupPath + Helper.GetCompetitionListFileName()); foreach (string s in lines) { sw.WriteLine(s); } sw.Close(); } catch (Exception ex) { Logger.Exception(ex); MessageBox.Show(ex.Message); } }
private void UpdateCompetitionTop(Competition c) { try { StreamReader sr = new StreamReader(Application.StartupPath + Helper.GetCompetitionListFileName()); List<string> lines = new List<string>(); while (sr.EndOfStream == false) { string line = sr.ReadLine(); if (line.Contains(c.CompetitionId + "|" + c.CompetitionName)) { if (line.Contains("|True") || line.Contains("|False")) line = line.Substring(0, line.LastIndexOf("|")) + "|" + c.Top; else line += "|" + c.Top; } lines.Add(line); } sr.Close(); StreamWriter sw = new StreamWriter(Application.StartupPath + Helper.GetCompetitionListFileName()); foreach (string s in lines) sw.WriteLine(s); sw.Close(); } catch (Exception ex) { Logger.Exception(ex); MessageBox.Show(ex.Message); } }
private void lbTeams_SelectedIndexChanged(object sender, EventArgs e) { if (_generatingInProgress == false && _playerLoadingInProgress == false && _scheduleUpdateInProgress == false && _competitionUpdateInProgress == false) { cbCurrentSeason.SelectedIndex = 0; this._selectedTeam = (Team)this.lbTeams.SelectedItem; if (_selectedTeam != null) { var competition = _cachedCompetitions.Where(cc => cc.CompetitionId == _selectedTeam.CompetitionId).FirstOrDefault(); this._selectedCompetition = competition; LoadArchive(competition); } } }
private async Task<List<Team>> LoadTeamsAsync(bool changeCompetition = true) { List<Team> teamList = new List<Team>(); try { //if (_competitionUpdateInProgress == true) // return teamList; if (changeCompetition == true) this._selectedCompetition = (Competition)this.lbCompetition.SelectedItem; this.lbTeams.DataSource = null; this.lbTeams.DisplayMember = "TeamName"; this.lbTeams.ValueMember = "TeamId"; this.pbLoadingTeams.Visible = true; //lbCompetition.Enabled = false; teamList = ( from cc in this._cachedTeams where cc.CompetitionId == this._selectedCompetition.CompetitionId select cc).ToList<Team>(); if (teamList.Count == 0) { List<Team> teams = null; if (_selectedCompetition.CompetitionCountryId < 0)//KUP TAKMICENJA { teams = await DataLoader.LoadTeamsAsync(this._selectedCompetition.CompetitionId); if (teams.Count == 0) teams = await DataLoader.LoadTeamsSearchPageAsync(this._selectedCompetition.CompetitionId); } else teams = await DataLoader.LoadTeamsAlternativeAsync(this._selectedCompetition.CompetitionId); this._selectedCompetition.Teams = teams; DirectoryInfo directoryInfo = new DirectoryInfo("cache"); if (!directoryInfo.Exists) { directoryInfo.Create(); } StreamWriter streamWriter = new StreamWriter(Application.StartupPath + Helper.GetTeamListFileName(), true); if (_selectedCompetition.Teams != null) { foreach (Team t in _selectedCompetition.Teams) { t.CompetitionName = this._selectedCompetition.CompetitionName; if (( from cc in this._cachedTeams where cc.CompetitionId == t.CompetitionId && cc.TeamId == t.TeamId select cc).ToList<Team>().Count == 0) { teamList.Add(t); this._cachedTeams.Add(t); streamWriter.WriteLine(_selectedCompetition.CompetitionId.ToString() + "|" + _selectedCompetition.CompetitionName + "|" + t.TeamId.ToString() + "|" + t.TeamName + "|" + t.UrlName); } } } streamWriter.Close(); } foreach (var el in teamList) { el.Url = "http://www.transfermarkt.de/jumplist/startseite/verein/" + el.TeamId; } this._selectedCompetition.Teams = teamList; //lbCompetition.Enabled = true; this.pbLoadingTeams.Visible = false; this.lbTeams.DataSource = this._selectedCompetition.Teams; if (this._selectedCompetition.Teams.Count > 0) { this.lbTeams.SelectedIndex = 0; this.lbTeams.Focus(); } LoadArchive(_selectedCompetition); } catch (Exception ex) { Logger.Exception(ex); MessageBox.Show(ex.Message); } return teamList; }
private async Task KreirajArhivu(Competition c) { try { var archiveFileName = Application.StartupPath + Helper.GetCompetitionArchiveFileName(c); if (File.Exists(archiveFileName) && Helper.IsFileLocked(new FileInfo(archiveFileName))) { MessageBox.Show("Arhiva '" + archiveFileName + "' je otvorena. Zatvori je pa pokusaj opet."); return; } if (File.Exists(archiveFileName) == true) { DialogResult dr = MessageBox.Show( "Arhiva '" + archiveFileName + "' vec postoji! Da li treba nabraviti novu i obrisati postojecu ?", "Pitanje", MessageBoxButtons.YesNo); if (dr == DialogResult.No) return; } foreach (Team t in c.Teams) { if (t.Schedule == null) { List<Match> schedule = await DataLoader.LoadSchedule(_cachedTeams, t, cbCurrentSeason.SelectedItem.ToString()); t.Schedule = schedule; } var season = cbCurrentSeason.SelectedItem; lbTeams.SelectedItem = t; cbCurrentSeason.SelectedItem = season; } DocumentBuilder.CreateCompetitionArchive(archiveFileName, c); if (File.Exists(archiveFileName)) { Process.Start(archiveFileName); LoadArchive(c); } } catch (Exception ex) { MessageBox.Show(ex.Message); Logger.Exception(ex); } }
private void LoadArchive(Competition c) { try { if (c == null) return; List<FileInfo> allFiles = new List<FileInfo>(); DirectoryInfo di = new DirectoryInfo(Application.StartupPath + Helper.GetCompetitionArchiveDirectoryName(c)); if (di.Exists == false) di.Create(); foreach (FileInfo fi in di.GetFiles().Where(f => f.Name == "_" + c.CompetitionName.NormalizeString().ToUpper() + ".xlsx")) allFiles.Add(fi); lbArhiva.DataSource = allFiles.OrderByDescending(f => f.LastWriteTime).ToList(); lbArhiva.ValueMember = "Name"; lbArhiva.DisplayMember = "Name"; } catch (Exception ex) { Logger.Exception(ex); MessageBox.Show(ex.Message); } }
private List<Competition> GetCachedCompetitions() { List<Competition> list = new List<Competition>(); try { if (File.Exists(Application.StartupPath + Helper.GetCompetitionListFileName())) { StreamReader streamReader = new StreamReader(Application.StartupPath + Helper.GetCompetitionListFileName()); while (!streamReader.EndOfStream) { string text = streamReader.ReadLine(); string[] array = text.Split('|'); var c = new Competition { CompetitionId = array[2], CompetitionName = array[3], CompetitionCountryId = int.Parse(array[0]) }; if (array.Length > 4) { var anames = array[4].Split(','); foreach (var an in anames) c.AlternativeName.Add(an); string top = array[4]; c.Top = top == "True" ? true : false; } if (array.Length > 5) { string top = array[5]; c.Top = top == "True" ? true : false; } var country = _cachedCountries.Where(cc => cc.CountryId == c.CompetitionCountryId).FirstOrDefault(); c.CompetitionCountry = country.CountryName; list.Add(c); } streamReader.Close(); } } catch (Exception ex) { Logger.Exception(ex); MessageBox.Show(ex.Message); } return list; }