summaryrefslogtreecommitdiff
path: root/Aktywator/Setting.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Aktywator/Setting.cs')
-rw-r--r--Aktywator/Setting.cs59
1 files changed, 53 insertions, 6 deletions
diff --git a/Aktywator/Setting.cs b/Aktywator/Setting.cs
index bde6fd1..657c822 100644
--- a/Aktywator/Setting.cs
+++ b/Aktywator/Setting.cs
@@ -42,15 +42,18 @@ namespace Aktywator
field.Checked = a.ToUpper() == "TRUE" ? true : false;
}
- public static string load(string name, Bws bws, StringBuilder errors, string section = null)
+ public static string load(string name, Bws bws, StringBuilder errors, string section = null, string table = "Settings", string sectionField = "`Section`")
{
StringBuilder str = new StringBuilder();
str.Append("SELECT ");
str.Append(name);
- str.Append(" FROM Settings");
+ str.Append(" FROM ");
+ str.Append(table);
if (section != null)
{
- str.Append(" WHERE `Section` = ");
+ str.Append(" WHERE ");
+ str.Append(sectionField);
+ str.Append(" = ");
str.Append(section);
}
try
@@ -171,12 +174,56 @@ namespace Aktywator
}
}
- public static void saveSectionGroups(Sql sql, bool value)
+ public static void saveScoringType(Sql sql, int value, string section)
{
- StringBuilder sb = new StringBuilder("UPDATE Tables SET `Group` = ");
- sb.Append(value ? "1" : "`Section`");
+ StringBuilder sb = new StringBuilder("UPDATE `Section` SET `ScoringType` = ");
+ sb.Append(value);
+ if (section != null)
+ {
+ sb.Append(" WHERE `ID` = ");
+ sb.Append(section);
+ }
sb.Append(";");
sql.query(sb.ToString());
}
+
+ public static void saveSectionGroups(Sql sql, bool value, int teamTableOffset = 0)
+ {
+ if (teamTableOffset == 0)
+ {
+ StringBuilder sb = new StringBuilder("UPDATE Tables SET `Group` = ");
+ sb.Append(value ? "1" : "`Section`");
+ sb.Append(";");
+ sql.query(sb.ToString());
+ }
+ else
+ {
+ int group = 1;
+ StringBuilder tablesQuery = new StringBuilder("SELECT `Section`, (`Table` MOD ");
+ tablesQuery.Append(teamTableOffset);
+ tablesQuery.Append(") FROM `Tables` GROUP BY `Section`, (`Table` MOD ");
+ tablesQuery.Append(teamTableOffset);
+ tablesQuery.Append(");");
+ OleDbDataReader tables = sql.select(tablesQuery.ToString());
+ List<string> queries = new List<string>();
+ while (tables.Read())
+ {
+ StringBuilder sb = new StringBuilder("UPDATE `Tables` SET `Group` = ");
+ sb.Append(group++);
+ sb.Append(" WHERE `Section` = ");
+ sb.Append(Bws.bwsNumber(tables, 0));
+ sb.Append(" AND (`Table` MOD ");
+ sb.Append(teamTableOffset);
+ sb.Append(") = ");
+ sb.Append(Bws.bwsNumber(tables, 1));
+ sb.Append(";");
+ queries.Add(sb.ToString());
+ }
+ foreach (string query in queries)
+ {
+ sql.query(query);
+ }
+ }
+ }
}
}