/* 2120;01-417;Fredriksson;Jonas;3J;[email protected];Un (C) 2120;01-417;Fredriksson;Jonas;3;[email protected];Ad 2120;01-417;Fredriksson;Jonas;3;[email protected];_OkäntB 2143;01-417;Selander;Martin;3;[email protected];M40 2143;01-417;Selander;Martin;3;[email protected];C45 (C) Kolumn 1 Pistolskyttekortsnummer Kolumn 2 Klubb Kolumn 3 Efternamn Kolumn 4 Förnamn Kolumn 5 Klass. Notera att man kan skriva t.ex. 3D för damklass. Kolumn 6 E-postadress Kolumn 7 Vapenförkortning. Notera att vapenförkortningen måste vara exakt så som programmet presenterar den. Kolumn 8 Patrullnummer (måste inte anges) Kolumn 9 Figur inom patrull (måste inte anges) */ private string createCompetitorLine(DatabaseDataset.CompetitorsRow competitor) { DatabaseDataset.ShootersRow shooter = competitor.ShootersRow; //Allberg.Shooter.WinShooterServerRemoting.Structs.Shooter shooter = // myInterface.GetShooter(competitor.ShooterId); StringBuilder toReturn = new StringBuilder(); if (int.Parse(shooter.Cardnr) >= 0) toReturn.Append(shooter.Cardnr + ";"); else toReturn.Append(";"); toReturn.Append(shooter.ClubId + ";"); toReturn.Append(shooter.Givenname + ";"); toReturn.Append(shooter.Surname + ";"); toReturn.Append(getShooterClassString(competitor.ShooterClass) + ";"); toReturn.Append(shooter.Email + ";"); toReturn.Append(competitor.WeaponId + ";"); if (competitor.PatrolsRow != null) { DatabaseDataset.PatrolsRow patrol = competitor.PatrolsRow; toReturn.Append(patrol.PatrolId.ToString() + ";"); toReturn.Append(competitor.Lane.ToString() + ";"); } else { toReturn.Append(";"); toReturn.Append(";"); } toReturn.Append("\r\n"); return toReturn.ToString(); }
Structs.FollowUpReturn[] checkClub(DatabaseDataset.ClubsRow club) { string filter = "ClubId='" + club.ClubId + "'"; //filter = ""; ArrayList toReturn = new ArrayList(); DatabaseDataset.ShootersRow[] shooters = (DatabaseDataset.ShootersRow[]) // club.GetShootersRows(); database.Shooters.Select(filter, "GivenName, Surname"); foreach (DatabaseDataset.ShootersRow shooter in shooters) { // This is for safety reasons if (shooter.IsArrivedNull()) shooter.Arrived = false; Structs.FollowUpReturn followUp = new Structs.FollowUpReturn(); followUp.Arrived = shooter.Arrived; followUp.CardNr = shooter.Cardnr; followUp.ClubName = club.Name; followUp.Payed = shooter.Payed; followUp.Rounds = getRoundsForShooter(shooter); followUp.ResultsExistForRounds = getResultExistForShooter(shooter); followUp.ShooterName = shooter.Givenname + ", " + shooter.Surname; followUp.ShouldHavePayed = GetShouldHavePayed(shooter); toReturn.Add(followUp); } return (Structs.FollowUpReturn[])toReturn.ToArray(typeof(Structs.FollowUpReturn)); }
internal void PatrolAddEmpty(bool notifyGui) { database = myInterface.databaseClass.Database; DateTime compStart = myInterface.GetCompetitions()[0].StartTime; int timeBetweenPatrols = database.Competition[0].PatrolTimeBetween; int lastStart = 0 - timeBetweenPatrols; int patrolId = 0; foreach(DatabaseDataset.PatrolsRow row in database.Patrols) { if (row.StartDateTime > lastStart) { lastStart = row.StartDateTime; } if (row.PatrolId > patrolId) patrolId = row.PatrolId; } Structs.Patrol patrol = new Structs.Patrol(); patrol.PatrolId = patrolId + 1; patrol.StartDateTime = compStart.AddMinutes((int)(lastStart + timeBetweenPatrols)); patrol.CompetitionId = database.Competition[0].CompetitionId; myInterface.NewPatrol(patrol, notifyGui); }
internal byte[] ExportResults() { database = myInterface.databaseClass.Database; MemoryStream memStream = new MemoryStream(); database.WriteXml(memStream); return memStream.ToArray(); }
internal ResultsReturnTeam[] GetTeamResults(Structs.ResultWeaponsClass wclass, Structs.Competition competition) { Trace.WriteLine("CResults.GetResults(" + wclass.ToString() + ") started on thread \"" + System.Threading.Thread.CurrentThread.Name + "\" ( " + System.Threading.Thread.CurrentThread.ManagedThreadId.ToString() + " )"); while (resultsAlreadyRunning) System.Threading.Thread.Sleep(50); Trace.WriteLine("CResults: GetResults() " + " locking \"GetResultsLock\" on thread \"" + Thread.CurrentThread.Name + "\" ( " + System.Threading.Thread.CurrentThread.ManagedThreadId.ToString() + " )"); lock(GetResultsLock) { Trace.WriteLine("CResults: GetResults() " + " locked \"GetResultsLock\" on thread \"" + Thread.CurrentThread.Name + "\" ( " + System.Threading.Thread.CurrentThread.ManagedThreadId.ToString() + " )"); try { resultsAlreadyRunning = true; CompetitionType = myInterface.CompetitionCurrent.Type; database = myInterface.databaseClass.Database; useNorwegianCount = competition.NorwegianCount; // Ok, now lets count the real ones DSResults results = getAllTeams(wclass); results = sortTeams(results); ResultsReturnTeam[] toReturn = convertIntoArray(results); return toReturn; } finally { Trace.WriteLine("CResultsTeam: GetResults() " + " unlocking \"GetResultsLock\" on thread \"" + Thread.CurrentThread.Name + "\" ( " + System.Threading.Thread.CurrentThread.ManagedThreadId.ToString() + " )"); Trace.WriteLine("CResults.GetResults ended."); resultsAlreadyRunning = false; } } }
internal byte[] ExportResults() { database = myInterface.databaseClass.Database; StringBuilder toReturn = new StringBuilder(); foreach (DatabaseDataset.CompetitorsRow competitor in database.Competitors) { toReturn.Append(createCompetitorLine(competitor)); } Encoding encoding = Encoding.GetEncoding(1252); byte[] bytes = encoding.GetBytes(toReturn.ToString()); return bytes; }
internal byte[] ExportClubs() { database = myInterface.databaseClass.Database; StringBuilder toReturn = new StringBuilder(); toReturn.Append("Klubbid;Namn;Land;Epost;Bankgiro;Plusgiro;\r\n"); foreach (DatabaseDataset.ClubsRow club in database.Clubs) { toReturn.Append(createClubsLine(club)); } Encoding encoding = Encoding.GetEncoding(1252); byte[] bytes = encoding.GetBytes(toReturn.ToString()); return bytes; }
private string createWeaponsLine(DatabaseDataset.WeaponsRow weapon) { StringBuilder toReturn = new StringBuilder(); toReturn.Append(weapon.WeaponId + ";"); toReturn.Append(weapon.Manufacturer + ";"); toReturn.Append(weapon.Model + ";"); toReturn.Append(weapon.Caliber + ";"); toReturn.Append("\r\n"); return toReturn.ToString(); }
internal byte[] ExportWeapons() { database = myInterface.databaseClass.Database; StringBuilder toReturn = new StringBuilder(); toReturn.Append("WeaponId;Tillverkare;Modell;Kaliber;\r\n"); foreach (DatabaseDataset.WeaponsRow weapon in database.Weapons) { toReturn.Append(createWeaponsLine(weapon)); } Encoding encoding = Encoding.GetEncoding(1252); byte[] bytes = encoding.GetBytes(toReturn.ToString()); return bytes; }
private int getResultExistForShooter(DatabaseDataset.ShootersRow shooter) { DatabaseDataset.CompetitorsRow[] competitors = (DatabaseDataset.CompetitorsRow[]) shooter.GetCompetitorsRows(); int count = 0; foreach (DatabaseDataset.CompetitorsRow competitor in competitors) { if (competitor.GetCompetitorResultsRows().Length > 0) count++; } return count; }
private int getRoundsForShooter(DatabaseDataset.ShootersRow shooter) { return shooter.GetCompetitorsRows().Length; }
private void CreateTables(DatabaseDataset database, OleDbConnection conn) { Trace.WriteLine("CDatabase: Entering createDatabases()"); Trace.WriteLine("CDatabase: createTables() " + " locking \"DatabaseLocker\" on thread \"" + Thread.CurrentThread.Name + "\" ( " + Thread.CurrentThread.ManagedThreadId + " )"); lock(_databaseLocker) { Trace.WriteLine("CDatabase: createTables() " + " locked \"DatabaseLocker\" on thread \"" + Thread.CurrentThread.Name + "\" ( " + Thread.CurrentThread.ManagedThreadId + " )"); CreateTable(database.Tables["DbInfo"], conn); CreateTable(database.Tables["Clubs"], conn); CreateTable(database.Tables["shooters"], conn); CreateTable(database.Tables["Weapons"], conn); CreateTable(database.Tables["Competition"], conn); CreateTable(database.Tables["Patrols"], conn); UpdateTablePatrols(); CreateTable(database.Tables["Competitors"], conn); CreateTable(database.Tables["Stations"], conn); CreateTable(database.Tables["CompetitorResults"], conn); CreateTable(database.Tables["Teams"], conn); Trace.WriteLine("CDatabase: createTables() " + " unlocking \"DatabaseLocker\" on thread \"" + Thread.CurrentThread.Name + "\" ( " + Thread.CurrentThread.ManagedThreadId + " )"); } }
internal void PatrolRemoveLast() { Trace.WriteLine("CPatrolManagement: patrolRemoveLast() started on thread \"" + Thread.CurrentThread.Name + "\" ( " + System.Threading.Thread.CurrentThread.ManagedThreadId.ToString() + " )"); try { database = myInterface.databaseClass.Database; if (database.Patrols.Count == 0) return; Trace.WriteLine("CPatrolManagement: PatrolRemoveLast() " + " locking \"PatrolRemoveLastLock\" on thread \"" + Thread.CurrentThread.Name + "\" ( " + System.Threading.Thread.CurrentThread.ManagedThreadId.ToString() + " )"); lock(PatrolRemoveLastLock) { Trace.WriteLine("CPatrolManagement: PatrolRemoveLast() " + " locked \"PatrolRemoveLastLock\" on thread \"" + Thread.CurrentThread.Name + "\" ( " + System.Threading.Thread.CurrentThread.ManagedThreadId.ToString() + " )"); if (database.Patrols.Count == 0) return; int pid = getHighestPatrolId(); if (myInterface.GetCompetitorsCountPatrol(myInterface.GetPatrol(pid)) > 0) throw new ApplicationException("CompetitorsExist"); Structs.Patrol patrol = myInterface.GetPatrol(pid); myInterface.DelPatrol(patrol, false); Trace.WriteLine("CPatrolManagement: PatrolRemoveLast() " + " locked \"PatrolRemoveLastLock\" on thread \"" + Thread.CurrentThread.Name + "\" ( " + System.Threading.Thread.CurrentThread.ManagedThreadId.ToString() + " )"); } } catch(System.Data.DeletedRowInaccessibleException) { Trace.WriteLine("CPatrolManagement: PatrolRemoveLast DeletedRowInaccessibleException. Retrying."); PatrolRemoveLast(); } finally { Trace.WriteLine("CPatrolManagement: PatrolRemoveLast ended."); } }
internal void PatrolAddAutomaticCompetitors(bool CleanPatrols, bool preserveCompetitorOrder) { Trace.WriteLine("CPatrolManagement: PatrolAddAutomaticCompetitors(" + CleanPatrols.ToString() + ") started on thread \"" + Thread.CurrentThread.Name + "\" ( " + System.Threading.Thread.CurrentThread.ManagedThreadId.ToString() + " )"); database = myInterface.databaseClass.Database; // First clean patrols if instructed if (CleanPatrols) { cleanPatrols(); myInterface.updatedPatrol(); } // Check there is any competitors if (this.database.Competitors .Select("PatrolId is null").Length == 0) return; this.myInterface.updatedPatrolAddAutomaticCompetitors( 0, 3*database.Shooters.Count); // Create list DSPatrolManagement dblist = createList(); // Sort list dblist = sortList(dblist); // Spread list evenly spreadList(dblist, preserveCompetitorOrder); // Update interface this.myInterface.updatedPatrolAddAutomaticCompetitors( 3*database.Shooters.Count, 3*database.Shooters.Count); Trace.WriteLine("CPatrolManagement: PatrolAddAutomaticCompetitors ended."); }
/*private ResultsReturn[] convertIntoArray(ResultsReturn results) { ResultsReturn[] returnArray = new ResultsReturn[results.Count]; int i = 0; Structs.Competition competition = myInterface.GetCompetitions()[0]; foreach(DSResults.ResultsRow row in results) { returnArray[i] = new ResultsReturn(competition.Type, competition.NorwegianCount); returnArray[i].ClubId = row.ClubId; returnArray[i].CompetitorId = row.CompetitorId; returnArray[i].HitsTotal = row.Hits; returnArray[i].Medal = row.Medal; returnArray[i].PointsTotal = row.Points; returnArray[i].ShooterName = row.ShooterName; returnArray[i].FigureHitsTotal = row.FigureHits; returnArray[i].HitsPerStnString = row.HitsPerStn; returnArray[i].FinalShootingPlace = row.FinalShootingPlace; returnArray[i].PriceMoney = row.PriceMoney; i++; } return returnArray; }*/ internal Structs.ResultWeaponsClass[] ResultsGetWClasses() { database = myInterface.databaseClass.Database; ArrayList list = new ArrayList(); for(int i=1;i<=Structs.ResultWeaponsClassMax;i++) { Structs.ResultWeaponsClass thisClass = (Structs.ResultWeaponsClass)i; try { int.Parse(thisClass.ToString()); } catch(Exception) { // thisClass is a string, which means it is a valid class if (myInterface.GetCompetitorResultsExist(thisClass)) list.Add(thisClass); } } return (Structs.ResultWeaponsClass[])list.ToArray(typeof(Structs.ResultWeaponsClass)); }
internal ResultsReturn[] GetResults( Structs.ResultWeaponsClass wclass, Structs.ShootersClass uclass, Structs.Competition competition, bool finalResults) { Trace.WriteLine("CResults.GetResults(" + wclass.ToString() + ", " + uclass.ToString() + ") started on thread \"" + System.Threading.Thread.CurrentThread.Name + "\" ( " + System.Threading.Thread.CurrentThread.ManagedThreadId.ToString() + " )"); while (resultsAlreadyRunning) System.Threading.Thread.Sleep(50); Trace.WriteLine("CResults: GetResults() " + " locking \"GetResultsLock\" on thread \"" + Thread.CurrentThread.Name + "\" ( " + System.Threading.Thread.CurrentThread.ManagedThreadId.ToString() + " )"); lock(GetResultsLock) { Trace.WriteLine("CResults: GetResults() " + " locked \"GetResultsLock\" on thread \"" + Thread.CurrentThread.Name + "\" ( " + System.Threading.Thread.CurrentThread.ManagedThreadId.ToString() + " )"); try { resultsAlreadyRunning = true; database = myInterface.databaseClass.Database; useNorwegianCount = competition.NorwegianCount; // First find out about the standard medals calculateStandardMedals(wclass, uclass); // Ok, now lets count the real ones if (competition.OneClass) { switch (uclass) { case Structs.ShootersClass.Damklass: uclass = Structs.ShootersClass.Damklass; break; case Structs.ShootersClass.Damklass1: uclass = Structs.ShootersClass.Damklass; break; case Structs.ShootersClass.Damklass2: uclass = Structs.ShootersClass.Damklass; break; case Structs.ShootersClass.Damklass3: uclass = Structs.ShootersClass.Damklass; break; case Structs.ShootersClass.Juniorklass: break; case Structs.ShootersClass.Klass: uclass = Structs.ShootersClass.Klass; break; case Structs.ShootersClass.Klass1: uclass = Structs.ShootersClass.Klass; break; case Structs.ShootersClass.Klass2: uclass = Structs.ShootersClass.Klass; break; case Structs.ShootersClass.Klass3: uclass = Structs.ShootersClass.Klass; break; case Structs.ShootersClass.VeteranklassYngre: break; case Structs.ShootersClass.VeteranklassÄldre: break; case Structs.ShootersClass.Öppen: break; default: throw new NotSupportedException("Structs.ShootersClass." + uclass.ToString() + " is not supported"); } } List<ResultsReturn> results = getAllCompetitors(wclass, uclass, false); results.Sort(); if (myInterface.CompetitionCurrent.Championship != Structs.CompetitionChampionshipEnum.Club) { results = markMedals(results); } else { // Mark all as not having medals foreach (ResultsReturn row in results) { row.Medal = Structs.Medal.None; } } if (finalResults) { results = markPriceMoney(results); } return results.ToArray(); } finally { Trace.WriteLine("CResults: GetResults() " + " unlocking \"GetResultsLock\" on thread \"" + Thread.CurrentThread.Name + "\" ( " + System.Threading.Thread.CurrentThread.ManagedThreadId.ToString() + " )"); Trace.WriteLine("CResults.GetResults ended."); resultsAlreadyRunning = false; } } }
private static void addConstraint(string constraintName, DatabaseDataset database, OleDbConnection conn) { Trace.WriteLine("CDatabase: Entering createDatabaseConstraints()"); StringBuilder sqlCreate = new StringBuilder(""); foreach (System.Data.DataRelation rel in database.Relations) { if (rel.RelationName == constraintName) { sqlCreate = new StringBuilder(""); sqlCreate.Append("ALTER TABLE " + rel.ChildTable.TableName + " ADD " + "CONSTRAINT " + rel.RelationName + " FOREIGN KEY " + "(" + rel.ChildColumns[0].ColumnName + ")" + " REFERENCES " + rel.ParentTable + " (" + rel.ParentColumns[0].ColumnName + ")"); // Execute against database Trace.WriteLine("CDatabase: Running SQL to create relation: " + sqlCreate.ToString()); OleDbCommand SQL = new OleDbCommand(sqlCreate.ToString(), conn); SQL.ExecuteNonQuery(); SQL.Dispose(); } } }
private void UpgradeVersion1_1() { if (checkTableExist("Teams", dbconn)) { dropTable("Teams", dbconn); } // Create table Teams CDatabase.CreateTable(new DatabaseDataset.TeamsDataTable(), dbconn); string sqlCreate; OleDbCommand SQL; // Create restrictions for table Teams DatabaseDataset dbtemp = new DatabaseDataset(); foreach (System.Data.DataRelation rel in dbtemp.Relations) { if (rel.RelationName.IndexOf("Teams") > -1) { sqlCreate = "ALTER TABLE " + rel.ChildTable.TableName + " ADD " + "CONSTRAINT " + rel.RelationName + " FOREIGN KEY " + "(" + rel.ChildColumns[0].ColumnName + ")" + " REFERENCES " + rel.ParentTable + " (" + rel.ParentColumns[0].ColumnName + ")"; // Execute against database Trace.WriteLine("CDatabase: Running SQL to create relation: " + sqlCreate); SQL = new OleDbCommand(sqlCreate, dbconn); SQL.ExecuteNonQuery(); SQL.Dispose(); } } // Create table DbInfo CDatabase.CreateTable(new DatabaseDataset.DbInfoDataTable(), dbconn); // Change shooter table to include "arrived" column addColumnToTable("shooters", "Arrived", "bit null", dbconn); addColumnToTable("shooters", "EmailResult", "bit null", dbconn); }
private static void CreateDatabaseConstraints(DatabaseDataset database, OleDbConnection conn) { Trace.WriteLine("CDatabase: Entering createDatabaseConstraints()"); var sqlCreate = ""; foreach (DataRelation rel in database.Relations) { sqlCreate = "ALTER TABLE " + rel.ChildTable.TableName + " ADD " + "CONSTRAINT " + rel.RelationName + " FOREIGN KEY " + "(" + rel.ChildColumns[0].ColumnName + ")" + " REFERENCES " + rel.ParentTable + " (" + rel.ParentColumns[0].ColumnName + ")"; // Execute against database Trace.WriteLine("CDatabase: Running SQL to create relation: " + sqlCreate); var SQL = new OleDbCommand(sqlCreate,conn); SQL.ExecuteNonQuery(); } }
private string createClubsLine(DatabaseDataset.ClubsRow club) { StringBuilder toReturn = new StringBuilder(); toReturn.Append(club.ClubId + ";"); toReturn.Append(club.Name + ";"); toReturn.Append(club.Country + ";"); if (!club.IsEmailNull()) toReturn.Append(club.Email + ";"); else toReturn.Append(";"); if (!club.IsBankgiroNull()) toReturn.Append(club.Bankgiro + ";"); else toReturn.Append(";"); if (!club.IsPlusgiroNull()) toReturn.Append(club.Plusgiro + ";"); else toReturn.Append(";"); toReturn.Append("\r\n"); return toReturn.ToString(); }
private int GetShouldHavePayed(DatabaseDataset.ShootersRow shooter) { int paying = 0; switch (shooter.GetCompetitorsRows().Length) { case 1: paying = myInterface.CompetitionCurrent.ShooterFee1; break; case 2: paying = myInterface.CompetitionCurrent.ShooterFee1 + myInterface.CompetitionCurrent.ShooterFee2; break; case 3: paying = myInterface.CompetitionCurrent.ShooterFee1 + myInterface.CompetitionCurrent.ShooterFee2 + myInterface.CompetitionCurrent.ShooterFee3; break; case 4: paying = myInterface.CompetitionCurrent.ShooterFee1 + myInterface.CompetitionCurrent.ShooterFee2 + myInterface.CompetitionCurrent.ShooterFee3 + myInterface.CompetitionCurrent.ShooterFee4; break; } return paying; }
internal void OpenDatabase() { Trace.WriteLine("CDatabase: Entering openDatabase()"); Trace.WriteLine("CDatabase: openDatabase() " + " locking \"DatabaseLocker\" on thread \"" + Thread.CurrentThread.Name + "\" ( " + Thread.CurrentThread.ManagedThreadId + " )"); lock(_databaseLocker) { Trace.WriteLine("CDatabase: openDatabase() " + " locked \"DatabaseLocker\" on thread \"" + Thread.CurrentThread.Name + "\" ( " + Thread.CurrentThread.ManagedThreadId + " )"); Database = new DatabaseDataset(); CreateDataAdapters(); // Get data into dataset Trace.WriteLine(" Reading DbInfo from file."); _daDbInfo.Fill(Database, "DbInfo"); Trace.WriteLine(" Reading Clubs from file."); DAClubs.Fill(Database, "Clubs"); Trace.WriteLine(" Reading Shooters from file."); _daShooters.Fill(Database, "Shooters"); Trace.WriteLine(" Reading Weapons from file."); _daWeapons.Fill(Database, "Weapons"); Trace.WriteLine(" Reading Competition from file."); _daCompetition.Fill(Database, "Competition"); Trace.WriteLine(" Reading patrols from file."); _daPatrols.Fill(Database, "Patrols"); Trace.WriteLine(" Reading Stations from file."); _daStations.Fill(Database, "Stations"); Trace.WriteLine(" Reading Competitors from file."); _daCompetitors.Fill(Database, "Competitors"); Trace.WriteLine(" Reading CompetitorResults from file."); _daCompetitorResults.Fill(Database, "CompetitorResults"); Trace.WriteLine(" Reading Teams from file."); _daTeams.Fill(Database, "Teams"); // Tell gui data is updated Trace.WriteLine(" Done reading from file. Update GUI."); MyInterface.updatedClub(); MyInterface.updatedShooter(new Structs.Shooter()); MyInterface.updatedWeapon(); MyInterface.updatedCompetition(); MyInterface.updatedPatrol(); MyInterface.updatedStation(); MyInterface.updatedCompetitor(new Structs.Competitor()); MyInterface.updatedCompetitorResult(new Structs.CompetitorResult()); MyInterface.updatedTeam(); Trace.WriteLine("CDatabase: openDatabase() " + " unlocking \"DatabaseLocker\" on thread \"" + Thread.CurrentThread.Name + "\" ( " + Thread.CurrentThread.ManagedThreadId + " )"); } }
internal Structs.ShootersClass[] ResultsGetUClasses( Structs.ResultWeaponsClass wclass) { Trace.WriteLine("CResult.ResultsGetUClasses(\"" + wclass.ToString() + "\") " + "started on thread \"" + System.Threading.Thread.CurrentThread.Name + "\" ( " + System.Threading.Thread.CurrentThread.ManagedThreadId.ToString() + " )"); DateTime start = DateTime.Now; database = myInterface.databaseClass.Database; List<int> sClassesIntTable = new List<int>(); List<Structs.ShootersClass> shooterClasses = new List<Structs.ShootersClass>(); foreach(DatabaseDataset.CompetitorsRow row in database.Competitors) { Structs.Weapon weapon = myInterface.GetWeapon(row.WeaponId); if (myInterface.ConvertWeaponsClassToResultClass(weapon.WClass) == wclass) { if (row.GetChildRows("CompetitorsCompetitorResults").Length > 0) { if (!sClassesIntTable.Contains(row.ShooterClass)) { sClassesIntTable.Add(row.ShooterClass); Structs.ShootersClass uclass = (Structs.ShootersClass)row.ShooterClass; shooterClasses.Add(uclass); } } } } if (myInterface.CompetitionCurrent.OneClass) { if (shooterClasses.Contains(Structs.ShootersClass.Klass1) || shooterClasses.Contains(Structs.ShootersClass.Klass2) || shooterClasses.Contains(Structs.ShootersClass.Klass3)) { shooterClasses.Add(Structs.ShootersClass.Klass); shooterClasses.Remove(Structs.ShootersClass.Klass1); shooterClasses.Remove(Structs.ShootersClass.Klass2); shooterClasses.Remove(Structs.ShootersClass.Klass3); } if (shooterClasses.Contains(Structs.ShootersClass.Damklass1) || shooterClasses.Contains(Structs.ShootersClass.Damklass2) || shooterClasses.Contains(Structs.ShootersClass.Damklass3)) { shooterClasses.Add(Structs.ShootersClass.Damklass); shooterClasses.Remove(Structs.ShootersClass.Damklass1); shooterClasses.Remove(Structs.ShootersClass.Damklass2); shooterClasses.Remove(Structs.ShootersClass.Damklass3); } } /*for(int i=0 ; i<=Structs.ShootersClassMax ; i++) { try { if (sClassesIntTable.Contains(i)) { int.Parse(((Structs.ShootersClass)i).ToString()); } } catch(System.FormatException) { // Ok, we got a class Structs.ShootersClass uclass = (Structs.ShootersClass)i; shooterClasses.Add(uclass); } }*/ shooterClasses.Sort(); Trace.WriteLine("CResult.ResultsGetUClasses(\"" + wclass.ToString() + "\") " + "ending after " + (DateTime.Now-start).TotalMilliseconds.ToString() + " ms."); return shooterClasses.ToArray(); }
internal void CreateDefaultDatabaseContent() { Trace.WriteLine("CDatabase: Entering createDefaultDatabaseContent()"); Trace.WriteLine("CDatabase: createDefaultDatabaseContent() " + " locking \"DatabaseLocker\" on thread \"" + Thread.CurrentThread.Name + "\" ( " + Thread.CurrentThread.ManagedThreadId + " )"); lock(_databaseLocker) { Trace.WriteLine("CDatabase: createDefaultDatabaseContent() " + " locked \"DatabaseLocker\" on thread \"" + Thread.CurrentThread.Name + "\" ( " + Thread.CurrentThread.ManagedThreadId + " )"); OleDbCommand cmd = null; try { Database = new DatabaseDataset(); Conn = new OleDbConnection(MyInterface.connectionString); Conn.Open(); CreateTables(Database, Conn); CreateDatabaseConstraints(Database, Conn); cmd = new OleDbCommand( "insert into DbInfo (KeyName, KeyValue) values ('Version', '" + CurrentDbVersion + "')", Conn); cmd.ExecuteNonQuery(); GetDefaultContent(); Conn.Close(); } catch (Exception exc) { Trace.WriteLine(exc.ToString()); throw; } finally { if (cmd != null) cmd.Dispose(); } CreateDataAdapters(); MyInterface.updatedClub(); MyInterface.updatedWeapon(); Trace.WriteLine("CDatabase: createDefaultDatabaseContent() " + " unlocking \"DatabaseLocker\" on thread \"" + Thread.CurrentThread.Name + "\" ( " + Thread.CurrentThread.ManagedThreadId + " )"); } }