summaryrefslogtreecommitdiff
path: root/Aktywator/Bws.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Aktywator/Bws.cs')
-rw-r--r--Aktywator/Bws.cs68
1 files changed, 68 insertions, 0 deletions
diff --git a/Aktywator/Bws.cs b/Aktywator/Bws.cs
index c4d6962..9533c7e 100644
--- a/Aktywator/Bws.cs
+++ b/Aktywator/Bws.cs
@@ -54,6 +54,8 @@ namespace Aktywator
settings.Add(new Setting("BM2AutoBoardNumber", main.xAutoBoardNumber, this));
settings.Add(new Setting("BM2ResetFunctionKey", main.xResetFunctionKey, this));
settings.Add(new Setting("BM2ViewHandrecord", main.xViewHandrecord, this));
+ settings.Add(new Setting("BM2RecordBidding", main.xCollectBidding, this));
+ settings.Add(new Setting("BM2RecordPlay", main.xCollectPlay, this));
settings.Add(new Setting("BM2ValidateLeadCard", main.xCheckLeadCard, this));
}
@@ -105,6 +107,8 @@ namespace Aktywator
return false;
if (!sql.checkTableExists("HandRecord"))
return false;
+ if (!sql.checkTableExists("HandEvaluation"))
+ return false;
return true;
}
@@ -132,6 +136,8 @@ namespace Aktywator
settings.Add(new Setting("BM2NameSource", "integer", "2"));
settings.Add(new Setting("BM2ViewHandrecord", "bit", "false"));
settings.Add(new Setting("BM2EnterHandrecord", "bit", "false"));
+ settings.Add(new Setting("BM2RecordBidding", "bit", "false"));
+ settings.Add(new Setting("BM2RecordPlay", "bit", "false"));
settings.Add(new Setting("BM2ValidateLeadCard", "bit", "false"));
settings.Add(new Setting("Name", "text(18)", "''", "PlayerNumbers"));
@@ -169,6 +175,41 @@ namespace Aktywator
catch (OleDbException)
{
}
+ try
+ {
+ sql.query("CREATE TABLE HandEvaluation (`Section` integer, `Board` integer, "
+ + "NorthSpades integer,NorthHearts integer,NorthDiamonds integer,NorthClubs integer,NorthNotrump integer,"
+ + "EastSpades integer,EastHearts integer,EastDiamonds integer,EastClubs integer,EastNotrump integer,"
+ + "SouthSpades integer,SouthHearts integer,SouthDiamonds integer,SouthClubs integer,SouthNotrump integer,"
+ + "WestSpades integer,WestHearts integer,WestDiamonds integer,WestClubs integer,WestNotrump integer,"
+ + "NorthHcp integer,EastHcp integer,SouthHcp integer,WestHcp integer"
+ + ");");
+ }
+ catch (OleDbException)
+ {
+ }
+ try
+ {
+ sql.query("CREATE TABLE PlayData ("
+ + "`ID` autoincrement, `Section` integer, `Table` integer, `Round` integer, `Board` integer,"
+ + "`Counter` integer, `Direction` text(2), `Card` text(10), `DateLog` datetime,"
+ + "`TimeLog` datetime, `Erased` bit"
+ + ");");
+ }
+ catch (OleDbException)
+ {
+ }
+ try
+ {
+ sql.query("CREATE TABLE BiddingData ("
+ + "`ID` autoincrement, `Section` integer, `Table` integer, `Round` integer, `Board` integer,"
+ + "`Counter` integer, `Direction` text(2), `Bid` text(10), `DateLog` datetime,"
+ + "`TimeLog` datetime, `Erased` bit"
+ + ");");
+ }
+ catch (OleDbException)
+ {
+ }
}
public void updateSettings()
@@ -379,6 +420,7 @@ namespace Aktywator
public void loadHandRecords(PBN pbn)
{
sql.query("DELETE FROM HandRecord");
+ sql.query("DELETE FROM HandEvaluation");
for (int i = 0; i < pbn.handRecords.Length; i++)
if (pbn.handRecords[i] != null)
for (int section = 1; section <= highSection(); section++)
@@ -405,6 +447,32 @@ namespace Aktywator
str.Append(b.west[2]); str.Append("','");
str.Append(b.west[3]); str.Append("')");
sql.query(str.ToString());
+ int[,] ddTable = pbn.ddTables[i].GetDDTable();
+ if (ddTable != null)
+ {
+ StringBuilder ddStr = new StringBuilder();
+ ddStr.Append("INSERT INTO HandEvaluation VALUES(");
+ ddStr.Append(section); ddStr.Append(",");
+ ddStr.Append(i); ddStr.Append(",");
+ for (int player = 0; player < 4; player++)
+ {
+ for (int denom = 0; denom < 5; denom++)
+ {
+ ddStr.Append(ddTable[player, denom]);
+ ddStr.Append(",");
+ }
+ }
+ for (int j = 0; j < 4; j++)
+ {
+ ddStr.Append(b.hpcs[j]);
+ if (j < 3)
+ {
+ ddStr.Append(",");
+ }
+ }
+ ddStr.Append(")");
+ sql.query(ddStr.ToString());
+ }
}
}
}