private void createDraw()
        {
            m_numberOfTeamsLeft       = LocalUtilities.teamsLeft(m_databaseFileName, m_drawRoundNumber);
            m_numberOfTeamsOriginal   = m_swissTeamEventInfo.NumberOfTeams;
            m_numberOfMatchesLeft     = (m_numberOfTeamsLeft / 2) + m_numberOfTeamsLeft % 2;
            m_numberOfMatchesOriginal = (m_numberOfTeamsOriginal / 2) + m_numberOfTeamsOriginal % 2;
            string filter = "Round_Number = " + m_drawRoundNumber;
            string sort   = "Table_Number ASC";

            m_dataRows = m_scoresTable.Select(filter, sort);
            Debug.Assert(m_dataRows.Length == m_numberOfMatchesOriginal, "Number of matches for round number " + m_drawRoundNumber + " is " + m_dataRows.Length + " but it should be " + m_numberOfMatchesOriginal);
            assignLeftTeams();
            assignWithDrawnTeams();
        }
Beispiel #2
0
        private void createRoundPage(int roundNumber)
        {
            printMessage("Creating Round Page for Round Number : " + roundNumber);
            m_prefix = "../";
            StreamWriter sw = new StreamWriter(Path.Combine(m_webpagesRootDirectory, "rounds", "round" + roundNumber + "score.html"));

            sw.WriteLine("<html><head></head><body>");
            int numberOfTeamsLeft   = LocalUtilities.teamsLeft(m_databaseFileName, roundNumber);
            int numberOfMatchesLeft = (numberOfTeamsLeft / 2) + numberOfTeamsLeft % 2;

            DataRow[] foundRows      = getTable(Constants.TableName.EventScores).Select("Round_Number = " + roundNumber + " AND Table_Number <= " + numberOfMatchesLeft, "Table_Number ASC");
            DataRow   dRow           = (foundRows.Length > 0)?foundRows[0]:null;
            string    headerTemplate = "<h2>Scores for Round " + roundNumber + "</h2>" + "<br/>[_commonPageHeader]";

            sw.WriteLine(applyTemplate_(headerTemplate, dRow));
            if (roundNumber > m_roundsCompleted)
            {
                if (roundNumber <= m_drawsCompleted)
                {
                    sw.WriteLine(Utilities.makeTablePreamble_() + "<thead><tr>");
                    ArrayList tableHeader = new ArrayList();
                    tableHeader.Clear();
                    tableHeader.Add("Round " + roundNumber + " Draw");
                    sw.WriteLine(Utilities.makeTableHeader_(tableHeader) + "</tr></thead><tbody>");
                    sw.WriteLine("<tr><td>");
                    sw.WriteLine(createRoundTable(roundNumber, foundRows, false));
                    sw.WriteLine("</td></tr></tbody></table>");
                    sw.WriteLine("</tbody></table>");
                }
                else
                {
                    sw.WriteLine("<h2>No Draw or Score published yet!</h2>");
                }
            }
            else
            {
                sw.WriteLine(Utilities.makeTablePreamble_() + "<thead><tr>");
                ArrayList tableHeader = new ArrayList();
                tableHeader.Clear();
                tableHeader.Add("Round " + roundNumber + " Score");
                tableHeader.Add("Cumulative Score and Ranking after Round " + roundNumber);
                sw.WriteLine(Utilities.makeTableHeader_(tableHeader) + "</tr></thead><tbody>");
                sw.WriteLine("<tr><td>");
                sw.WriteLine(createRoundTable(roundNumber, foundRows));
                sw.WriteLine("</td><td>");
                m_currentRound = roundNumber;
                Utilities.HTMLTableParameters parameters = new Utilities.HTMLTableParameters("");
                parameters.columns.Add("Rank", "{Rank_After_Round_" + roundNumber + "}");
                //parameters.columns.Add("Qualified", "Qualified");
                parameters.columns.Add("No.", "[_makeTeamNumberLink]");
                parameters.columns.Add("Name", "[_makeTeamNameLink]");
                parameters.columns.Add("VPs", "{Score_After_Round_" + roundNumber + "}");
                parameters.columns.Add("Tiebreaker Quotient", "{Tiebreaker_After_Round_" + roundNumber + "}");
                parameters.sortCriteria   = "Rank_After_Round_" + roundNumber + " ASC";
                parameters.filterCriteria = "Rank_After_Round_" + roundNumber + " > -1";
                parameters.headerTemplate = headerTemplate;
                parameters.tableName      = Constants.TableName.EventComputedScores;

                sw.WriteLine(createTable_(parameters));
                sw.WriteLine("</td></tr></tbody></table>");
                sw.WriteLine("</tbody></table>");
            }
            sw.WriteLine("</body></html>");
            sw.Close();
            reportProgress("Created Round " + roundNumber + " Score Page");
        }