Exemple #1
0
        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();
        }
Exemple #2
0
        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);
              }
        }
Exemple #3
0
        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();
              }
            }
              }
        }
Exemple #4
0
 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!");
       }
 }
Exemple #5
0
 public static string GetTeamArchiveFileName(Competition c,Team t)
 {
     return "\\cache\\arhiva\\" + c.CompetitionCountry.NormalizeString()+ "\\" + c.CompetitionName.NormalizeString()+ "\\" + t.TeamName.NormalizeString()+ ".xlsx";
 }
Exemple #6
0
 public static string GetCompetitionArchiveDirectoryName(Competition c)
 {
     return "\\cache\\arhiva\\" + c.CompetitionCountry.NormalizeString() + "\\" + c.CompetitionName.NormalizeString();
 }
Exemple #7
0
 public static string GetCompetitionArchiveFileName(Competition c)
 {
     return "\\cache\\arhiva\\" + c.CompetitionCountry.NormalizeString() + "\\" + c.CompetitionName.NormalizeString() + "\\" + "_" + c.CompetitionName.NormalizeString().ToUpper() + ".xlsx";
 }
Exemple #8
0
    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);
      }
    }
Exemple #9
0
    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);
      }
    }
Exemple #10
0
    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);
        }
      }
    }
Exemple #11
0
    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;
    }
Exemple #12
0
    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);
      }
    }
Exemple #13
0
    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);
      }
    }
Exemple #14
0
    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;
    }