コード例 #1
0
        public static void loadPairsDatabaseInformation(String databaseFileName, out PairsDatabaseParameters databaseParameters)
        {
            databaseParameters = createDefaultDatabaseParameters();
#if USINGPROJECTSYSTEM
            string strAccessConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath;
#else
            string strAccessConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + databaseFileName + ";";
#endif
            OleDbConnection m_myAccessConn = new OleDbConnection(strAccessConn);
            m_myAccessConn.Open();
            string sql = "SELECT * From Event_Information";
            databaseParameters.m_daEventInformation = new System.Data.OleDb.OleDbDataAdapter(sql, m_myAccessConn);
            databaseParameters.m_cbEventInformation = new OleDbCommandBuilder(databaseParameters.m_daEventInformation);
            databaseParameters.m_daEventInformation.Fill(databaseParameters.m_ds, "Event_Information");
            sql = "SELECT * From Pair_Information";
            databaseParameters.m_daPairInformation = new System.Data.OleDb.OleDbDataAdapter(sql, m_myAccessConn);
            databaseParameters.m_cbPairInformation = new OleDbCommandBuilder(databaseParameters.m_daPairInformation);
            databaseParameters.m_daPairInformation.Fill(databaseParameters.m_ds, "Pair_Information");
            databaseParameters.m_ds.Tables["Pair_Information"].PrimaryKey = new DataColumn[] { databaseParameters.m_ds.Tables["Pair_Information"].Columns["Section_Name"], databaseParameters.m_ds.Tables["Pair_Information"].Columns["Pair_Number"] };
            sql = "SELECT * From Pair_Wise_Scores";
            databaseParameters.m_daPairWiseScores = new System.Data.OleDb.OleDbDataAdapter(sql, m_myAccessConn);
            databaseParameters.m_cbPairWiseScores = new OleDbCommandBuilder(databaseParameters.m_daPairWiseScores);
            databaseParameters.m_daPairWiseScores.Fill(databaseParameters.m_ds, "Pair_Wise_Scores");
            DataTable table = databaseParameters.m_ds.Tables["Pair_Wise_Scores"];
            table.PrimaryKey = new DataColumn[] { table.Columns["Section_Name"], table.Columns["Pair_Number"], table.Columns["Board_Number"] };
            sql = "SELECT * From Board_Wise_Scores";
            databaseParameters.m_daBoardWiseScores = new System.Data.OleDb.OleDbDataAdapter(sql, m_myAccessConn);
            databaseParameters.m_cbBoardWiseScores = new OleDbCommandBuilder(databaseParameters.m_daBoardWiseScores);
            databaseParameters.m_daBoardWiseScores.Fill(databaseParameters.m_ds, "Board_Wise_Scores");
            table            = databaseParameters.m_ds.Tables["Board_Wise_Scores"];
            table.PrimaryKey = new DataColumn[] { table.Columns["Board_Number"], table.Columns["Section_Name"], table.Columns["Pair_Number"] };
            m_myAccessConn.Close();
            m_myAccessConn = null;
        }
コード例 #2
0
        public static PairsDatabaseParameters createDefaultDatabaseParameters()
        {
            PairsDatabaseParameters dp = new PairsDatabaseParameters();

            dp.m_ds = new DataSet();
            dp.m_daEventInformation = null;
            dp.m_cbEventInformation = null;
            dp.m_daPairInformation  = null;
            dp.m_cbPairInformation  = null;
            dp.m_daPairWiseScores   = null;
            dp.m_cbPairWiseScores   = null;
            dp.m_daBoardWiseScores  = null;
            dp.m_cbBoardWiseScores  = null;
            return(dp);
        }
コード例 #3
0
        public static void loadPairsEventInformation(PairsDatabaseParameters databaseParameters, String databaseFileName, out PairsEventInformation eventInformation)
        {
            if (databaseParameters.m_ds.Tables["Event_Information"].Rows.Count < 1)
            {
                throw new Exception("Event Information not found in Database!!!");
            }
            DataRow row = databaseParameters.m_ds.Tables["Event_Information"].Rows[0];

            eventInformation.rawText           = "";
            eventInformation.isACBLSummary     = (bool)row["ACBL_Summary"];
            eventInformation.hasDirectionField = (bool)row["Has_Direction_Field"];
            eventInformation.isIMP             = ((String)row["Scoring_Type"]).Equals("IMP", StringComparison.OrdinalIgnoreCase);
            eventInformation.eventName         = "" + row["Event_Name"];
            eventInformation.eventDate         = DateTime.Parse("" + row["Event_Date"]);
            eventInformation.databaseFileName  = databaseFileName;
            eventInformation.webpagesDirectory = constructWebpagesDirectory(Globals.m_rootDirectory, eventInformation.eventName, eventInformation.eventDate);
        }
コード例 #4
0
 public void setParameters(PairsEventInformation eventInformation, PairsDatabaseParameters databaseParameters)
 {
     m_eventInformation   = eventInformation;
     m_databaseParameters = databaseParameters;
 }
コード例 #5
0
 public PairsDatabaseToWebpages(PairsEventInformation eventInformation, PairsDatabaseParameters databaseParameters)
 {
     setParameters(eventInformation, databaseParameters);
 }
コード例 #6
0
        private void loadSummaryIntoDatabaseInternal()
        {
            m_databaseParameters = PairsGeneral.createDefaultDatabaseParameters();
            System.IO.Directory.CreateDirectory(System.IO.Path.GetDirectoryName(m_eventInformation.databaseFileName));
            System.IO.File.Delete(m_eventInformation.databaseFileName);
            String sourceFileName = System.IO.Path.Combine(Globals.m_rootDirectory, "Databases", "PairsScoreDatabaseTemplate.mdb");

            System.IO.File.Copy(sourceFileName, m_eventInformation.databaseFileName);
            PairsGeneral.loadPairsDatabaseInformation(m_eventInformation.databaseFileName, out m_databaseParameters);
            printMessage("Updating Event Information...");
            reportProgress(0, "Reading Event Information");
            DataTable eventInfoTable = m_databaseParameters.m_ds.Tables["Event_Information"];

            eventInfoTable.Clear();
            DataRow dRow = eventInfoTable.NewRow();

            dRow["ID"]                  = 1;
            dRow["ACBL_Summary"]        = m_eventInformation.isACBLSummary;
            dRow["Has_Direction_Field"] = m_eventInformation.hasDirectionField;
            dRow["Scoring_Type"]        = m_eventInformation.isIMP ? "IMP" : "MP";
            dRow["Event_Name"]          = m_eventInformation.eventName;
            dRow["Event_Date"]          = m_eventInformation.eventDate.ToString();
            eventInfoTable.Rows.Add(dRow);
            printMessage("Uploading Event Information Table to Database...");
            m_databaseParameters.m_daEventInformation.Update(m_databaseParameters.m_ds, "Event_Information");
            reportProgress(10, "Processing Summaries");
            printMessage("Processing Summaries...");
            String[] lines = m_eventInformation.rawText.Split(new string[] { System.Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
            if (lines.Length < 2)
            {
                lines = m_eventInformation.rawText.Split(new string[] { "\n" }, StringSplitOptions.RemoveEmptyEntries);
            }
            int lineNumber = getNextSummaryLine_(lines, 0);

            while (lineNumber < lines.Length && lineNumber != -1)
            {
                lineNumber = processOneSummary_(lines, lineNumber, false);
                lineNumber = getNextSummaryLine_(lines, lineNumber);
            }
            lineNumber = getNextSummaryLine_(lines, 0);
            while (lineNumber < lines.Length && lineNumber != -1)
            {
                lineNumber = processOneSummary_(lines, lineNumber, true);
                lineNumber = getNextSummaryLine_(lines, lineNumber);
            }

            reportProgress(50, "Calculating Scores");
            printMessage("Calculating Ranks...");
            // Combined Ranking
            doRanking_();
            // Section Ranking
            if (m_eventInformation.hasDirectionField)
            {
                doRanking_(PairsGeneral.SINGLE_SECTION_NAME, "Session_Rank");
            }
            else
            {
                doRanking_(PairsGeneral.NORTH_SOUTH_SECTION_NAME, "Session_Rank");
                doRanking_(PairsGeneral.EAST_WEST_SECTION_NAME, "Session_Rank");
            }
            reportProgress(75, "Saving to database");
            printMessage("Uploading Pair Information Table to Database...");
            m_databaseParameters.m_daPairInformation.Update(m_databaseParameters.m_ds, "Pair_Information");
            printMessage("Uploading Pair Wise Scores Table to Database...");
            m_databaseParameters.m_daPairWiseScores.Update(m_databaseParameters.m_ds, "Pair_Wise_Scores");
            printMessage("Uploading Board Wise Scores Table to Database...");
            m_databaseParameters.m_daBoardWiseScores.Update(m_databaseParameters.m_ds, "Board_Wise_Scores");
            printMessage("Finished Creating Database.");
        }