private string createTeamResults(Structs.ResultsReturnTeam[] results, Structs.ResultWeaponsClass wclass) { StringBuilder html = new StringBuilder(); html.Append("<h1>Lagtävling</h1>"); html.Append("Vapenklass " + wclass.ToString() + ":"); html.Append("<table>\r\n"); html.Append("<tr>" + "<td><b>Pl</b></td>" + "<td><b>Klubb</b></td>" + "<td><b>Lag</b></td>" + "<td><b>Resultat</b></td>" + "</tr>\r\n"); int place = 0; foreach (Structs.ResultsReturnTeam result in results) { place++; html.Append("<tr>"); html.Append("<td class=\"resultevenline\">" + place.ToString() + "</td>"); html.Append("<td class=\"resultevenline\">" + myInterface.GetClub(result.ClubId).Name + "</td>"); html.Append("<td class=\"resultevenline\">" + result.TeamName + "</td>"); if (myInterface.GetCompetitions()[0].NorwegianCount) { html.Append("<td class=\"resultevenline\">" + (result.Hits + result.FigureHits).ToString() + "</td>"); } else { html.Append("<td class=\"resultevenline\">" + result.Hits.ToString() + "/" + result.FigureHits.ToString() + "</td>"); } html.Append("</tr>\r\n"); // The total results html.Append("<tr><td colspan=2></td>"); html.Append("<td colspan=2>" + result.HitsPerStn.Replace(";", " ") + "</td>"); html.Append("</tr>\r\n"); Structs.Team team = myInterface.GetTeam(result.TeamId); ArrayList comps = new ArrayList(); if (team.CompetitorId1 != -1) { comps.Add(team.CompetitorId1); } if (team.CompetitorId2 != -1) { comps.Add(team.CompetitorId2); } if (team.CompetitorId3 != -1) { comps.Add(team.CompetitorId3); } if (team.CompetitorId4 != -1) { comps.Add(team.CompetitorId4); } foreach (int compId in (int[])comps.ToArray(typeof(int))) { Structs.Competitor comp = myInterface.GetCompetitor(compId); html.Append("<tr><td colspan=2></td>"); html.Append("<td>" + GetNameForCompetitor(comp) + "</td>"); html.Append("<td>" + GetResultForCompetitor(comp) + "</td>"); html.Append("</tr>\r\n"); } } html.Append("</table>"); return(html.ToString()); }
internal ResultsReturn ResultsGetCompetitor( Structs.Competitor competitor) { return(result.ResultsGetCompetitor(competitor)); }
private DSPatrolManagement getCompetitors(int shooterId, bool preserveShooterOrder) { Trace.WriteLine("CPatrolManagement: getCompetitors() started on thread \"" + Thread.CurrentThread.Name + "\" ( " + System.Threading.Thread.CurrentThread.ManagedThreadId.ToString() + " )"); try { // Get the competitors from the database Structs.Competitor[] temp = myInterface.GetCompetitors(shooterId); ArrayList competitorsUnfiltered = new ArrayList(temp); for (int i = 0; i < competitorsUnfiltered.Count;) { object obj = competitorsUnfiltered[i]; Structs.Competitor comp = (Structs.Competitor)obj; if (comp.PatrolId != -1) { competitorsUnfiltered.Remove(obj); } i++; } Structs.Competitor[] competitors = (Structs.Competitor[]) competitorsUnfiltered.ToArray( typeof(Structs.Competitor)); // Insert them into a temporary table DSPatrolManagement dblistunsorted = new DSPatrolManagement(); foreach (Structs.Competitor row in competitors) { DSPatrolManagement.CompetitorsRow newRow = dblistunsorted.Competitors.NewCompetitorsRow(); newRow.CompetitorId = row.CompetitorId; newRow.PatrolClass = (int)myInterface.ConvertWeaponsClassToPatrolClass( myInterface.GetWeapon(row.WeaponId).WClass); dblistunsorted.Competitors.AddCompetitorsRow(newRow); } // Sort the table into a new table string sorting = "PatrolClass desc"; if (preserveShooterOrder) { sorting = "CompetitorId," + sorting; } else { sorting += ", CompetitorId"; } DSPatrolManagement.CompetitorsRow[] rows = (DSPatrolManagement.CompetitorsRow[]) dblistunsorted.Competitors.Select("", sorting); DSPatrolManagement dblistsorted = new DSPatrolManagement(); foreach (DSPatrolManagement.CompetitorsRow row in rows) { DSPatrolManagement.CompetitorsRow newRow = dblistsorted.Competitors.NewCompetitorsRow(); newRow.CompetitorId = row.CompetitorId; newRow.PatrolClass = row.PatrolClass; dblistsorted.Competitors.AddCompetitorsRow(newRow); } return(dblistsorted); } finally { Trace.WriteLine("CPatrolManagement: getCompetitors() ended."); } }
private string GetNameForCompetitor(Structs.Competitor comp) { Structs.Shooter shooter = myInterface.GetShooter(comp.ShooterId); return(shooter.Surname + " " + shooter.Givenname); }
private string createTeamResults(ResultsReturnTeam[] results, Structs.ResultWeaponsClass wclass) { StringBuilder html = new StringBuilder(); html.Append("<h1>Lagtävling</h1>"); html.Append("Vapengrupp " + wclass.ToString() + ":"); html.Append("<table>\r\n"); html.Append("<tr>" + "<td><b>Pl</b></td>" + "<td><b>Klubb</b></td>" + "<td><b>Lag</b></td>" + "<td><b>Resultat</b></td>" + "</tr>\r\n"); int place = 0; foreach (ResultsReturnTeam result in results) { place++; html.Append("<tr>"); html.Append("<td class=\"resultevenline\">" + place.ToString() + "</td>"); html.Append("<td class=\"resultevenline\">" + myInterface.GetClub(result.ClubId).Name + "</td>"); html.Append("<td class=\"resultevenline\">" + result.TeamName + "</td>"); switch (myInterface.GetCompetitions()[0].Type) { case Structs.CompetitionTypeEnum.Field: { if (myInterface.GetCompetitions()[0].NorwegianCount) { html.Append("<td class=\"resultevenline\">" + (result.Hits + result.FigureHits).ToString() + "</td>"); } else { html.Append("<td class=\"resultevenline\">" + result.Hits.ToString() + "/" + result.FigureHits.ToString() + "</td>"); } break; } case Structs.CompetitionTypeEnum.Precision: { html.Append("<td class=\"resultevenline\">" + result.Hits.ToString() + "</td>"); break; } } html.Append("</tr>\r\n"); // The total results html.Append("<tr><td colspan=2></td>"); html.Append("<td colspan=2>" + result.HitsPerStn.Replace(";", " ") + "</td>"); html.Append("</tr>\r\n"); Structs.Team team = myInterface.GetTeam(result.TeamId); foreach (int compId in (int[])team.CompetitorIds.ToArray(typeof(int))) { Structs.Competitor comp = myInterface.GetCompetitor(compId); html.Append("<tr><td colspan=2></td>"); html.Append("<td>" + GetNameForCompetitor(comp) + "</td>"); html.Append("<td>" + GetResultForCompetitor(comp) + "</td>"); html.Append("</tr>\r\n"); } } html.Append("</table>"); return(html.ToString()); }
private List <ResultsReturn> markMedals(List <ResultsReturn> results) { int i = 0; Structs.Competition competition = myInterface.CompetitionCurrent; switch (competition.Type) { case Structs.CompetitionTypeEnum.Field: { if (useNorwegianCount) { foreach (ResultsReturn row in results) { i++; if (row.NorwegianPoints >= standardSilverMedal) { row.Medal = Structs.Medal.StandardSilver; } else if (row.NorwegianPoints >= standardBronsMedal) { row.Medal = Structs.Medal.StardardBrons; } else { row.Medal = Structs.Medal.None; } } } else { foreach (ResultsReturn row in results) { i++; if (row.HitsTotal >= standardSilverMedal) { row.Medal = Structs.Medal.StandardSilver; } else if (row.HitsTotal >= standardBronsMedal) { row.Medal = Structs.Medal.StardardBrons; } else { row.Medal = Structs.Medal.None; } } } break; } case Structs.CompetitionTypeEnum.MagnumField: { foreach (ResultsReturn row in results) { i++; if (row.HitsTotal >= standardSilverMedal) { row.Medal = Structs.Medal.StandardSilver; } else if (row.HitsTotal >= standardBronsMedal) { row.Medal = Structs.Medal.StardardBrons; } else { row.Medal = Structs.Medal.None; } } break; } case Structs.CompetitionTypeEnum.Precision: { int series = myInterface.GetStationsCount(); foreach (ResultsReturn row in results) { i++; if (row.HitsTotal >= standardSilverMedal) { row.Medal = Structs.Medal.StandardSilver; } else if (row.HitsTotal >= standardBronsMedal) { row.Medal = Structs.Medal.StardardBrons; } else { row.Medal = Structs.Medal.None; } Structs.Competitor competitor = myInterface.GetCompetitor(row.CompetitorId); Structs.Weapon weapon = myInterface.GetWeapon(competitor.WeaponId); Structs.ResultWeaponsClass wclass = CConvert.ConvertWeaponsClassToResultClass( weapon.WClass, competition.Type); switch (series) { case 6: { switch (wclass) { case Structs.ResultWeaponsClass.A: { if (row.HitsTotal >= 277) { row.Medal = Structs.Medal.StandardSilver; } else if (row.HitsTotal >= 267 & row.Medal != Structs.Medal.StandardSilver) { row.Medal = Structs.Medal.StardardBrons; } break; } case Structs.ResultWeaponsClass.B: { if (row.HitsTotal >= 282) { row.Medal = Structs.Medal.StandardSilver; } else if (row.HitsTotal >= 273 & row.Medal != Structs.Medal.StandardSilver) { row.Medal = Structs.Medal.StardardBrons; } break; } case Structs.ResultWeaponsClass.C: { if (row.HitsTotal >= 283) { row.Medal = Structs.Medal.StandardSilver; } else if (row.HitsTotal >= 276 & row.Medal != Structs.Medal.StandardSilver) { row.Medal = Structs.Medal.StardardBrons; } break; } } break; } case 7: { switch (wclass) { case Structs.ResultWeaponsClass.A: { if (row.HitsTotal >= 323) { row.Medal = Structs.Medal.StandardSilver; } else if (row.HitsTotal >= 312 & row.Medal != Structs.Medal.StandardSilver) { row.Medal = Structs.Medal.StardardBrons; } break; } case Structs.ResultWeaponsClass.B: { if (row.HitsTotal >= 329) { row.Medal = Structs.Medal.StandardSilver; } else if (row.HitsTotal >= 319 & row.Medal != Structs.Medal.StandardSilver) { row.Medal = Structs.Medal.StardardBrons; } break; } case Structs.ResultWeaponsClass.C: { if (row.HitsTotal >= 330) { row.Medal = Structs.Medal.StandardSilver; } else if (row.HitsTotal >= 322 & row.Medal != Structs.Medal.StandardSilver) { row.Medal = Structs.Medal.StardardBrons; } break; } } break; } case 10: { switch (wclass) { case Structs.ResultWeaponsClass.A: { if (row.HitsTotal >= 461) { row.Medal = Structs.Medal.StandardSilver; } else if (row.HitsTotal >= 445 & row.Medal != Structs.Medal.StandardSilver) { row.Medal = Structs.Medal.StardardBrons; } break; } case Structs.ResultWeaponsClass.B: { if (row.HitsTotal >= 470) { row.Medal = Structs.Medal.StandardSilver; } else if (row.HitsTotal >= 455 & row.Medal != Structs.Medal.StandardSilver) { row.Medal = Structs.Medal.StardardBrons; } break; } case Structs.ResultWeaponsClass.C: { if (row.HitsTotal >= 471) { row.Medal = Structs.Medal.StandardSilver; } else if (row.HitsTotal >= 460 & row.Medal != Structs.Medal.StandardSilver) { row.Medal = Structs.Medal.StardardBrons; } break; } } break; } } } break; } default: throw new ApplicationException("Unknown competition type"); } return(results); }
internal ResultsReturn ResultsGetCompetitor( int CompetitorId) { Structs.Competitor comp = myInterface.GetCompetitor(CompetitorId); return(ResultsGetCompetitor(comp)); }
private void ImportDatasetThread() { Trace.WriteLine("CFileImport: ImportDatasetThread started " + "on thread \"" + Thread.CurrentThread.Name + "\" ( " + System.Threading.Thread.CurrentThread.ManagedThreadId.ToString() + " )"); int i = -1; foreach (DataRow row in this.ViewDatatable.Rows) { i++; string classString = null; Trace.WriteLine("CFileImport: ImportDatasetThread calling " + "updatedFileImportCount(" + i.ToString() + ", " + ViewDatatable.Rows.Count.ToString() + ")"); myInterface.updatedFileImportCount( i, ViewDatatable.Rows.Count); // Get shooter string shooterCard = (string)row[viewTableColumnNames.Skyttekort.ToString().Trim()]; // Get shooter from DB Structs.Shooter shooter; try { shooter = myInterface.GetShooter(shooterCard); classString = (string)row[viewTableColumnNames.Klass.ToString()]; if (classString.IndexOf("1") >= 0) { shooter.Class = Structs.ShootersClass.Klass1; } if (classString.IndexOf("2") >= 0) { shooter.Class = Structs.ShootersClass.Klass2; } if (classString.IndexOf("3") >= 0) { shooter.Class = Structs.ShootersClass.Klass3; } myInterface.UpdateShooter(shooter); } catch (CannotFindIdException) { // Add user to DB with values from file. shooter = new Structs.Shooter(); // What class? classString = (string)row[viewTableColumnNames.Klass.ToString()]; Structs.ShootersClass sclass = Structs.ShootersClass.Klass1; if (classString.IndexOf("1") >= 0) { sclass = Structs.ShootersClass.Klass1; } if (classString.IndexOf("2") >= 0) { sclass = Structs.ShootersClass.Klass2; } if (classString.IndexOf("3") >= 0) { sclass = Structs.ShootersClass.Klass3; } if (shooterCard == "") { try { Random rnd = new Random(); while (true) { shooterCard = (-rnd.Next(100000)).ToString(); myInterface.GetShooter(shooterCard); } } catch (CannotFindIdException) { } } // Create shooter and insert into database shooter.Automatic = false; shooter.CardNr = shooterCard.ToString(); shooter.Class = sclass; shooter.ClubId = ((string)row[viewTableColumnNames.Klubb.ToString()]).Trim(); shooter.Email = ((string)row[viewTableColumnNames.Epost.ToString()]).Trim(); shooter.Givenname = ((string)row[viewTableColumnNames.Efternamn.ToString()]).Trim(); shooter.Surname = ((string)row[viewTableColumnNames.Fornamn.ToString()]).Trim(); shooter.Payed = 0; shooter.ToAutomatic = false; shooter.ShooterId = myInterface.NewShooter(shooter, false); if (shooter.ShooterId < 0) { throw new ApplicationException("ShooterId is " + shooter.ShooterId); } } // Ok, shooter is done. Create competitor classString = (string)row[viewTableColumnNames.Klass.ToString().ToUpper()]; Structs.ShootersClass cclass = shooter.Class; if (classString.IndexOf("D") >= 0) { cclass = (Structs.ShootersClass)( (int)Structs.ShootersClass.Damklass1 - 1 + (int)cclass); } if (classString.IndexOf("J") >= 0) { cclass = Structs.ShootersClass.Juniorklass; } if (classString.IndexOf("VY") >= 0) { cclass = Structs.ShootersClass.VeteranklassYngre; } if (classString.IndexOf("VÄ") >= 0) { cclass = Structs.ShootersClass.VeteranklassÄldre; } if (classString.IndexOf("Ö") >= 0) { cclass = Structs.ShootersClass.Öppen; } // Phu, class is done. Continue with competitor Structs.Competitor competitor = new Structs.Competitor(); competitor.CompetitionId = myInterface.GetCompetitions()[0].CompetitionId; competitor.ShooterId = shooter.ShooterId; competitor.WeaponId = (string)row[viewTableColumnNames.Vapen.ToString()]; competitor.PatrolId = -1; competitor.Lane = -1; competitor.ShooterClass = cclass; if (!row.IsNull(viewTableColumnNames.Patrull.ToString()) && ((string)row[viewTableColumnNames.Patrull.ToString()]).Trim() != "") { try { // Patrol defined in importfile string patrolString = (string)row[viewTableColumnNames.Patrull.ToString()]; int patrolId = -1; patrolId = int.Parse(patrolString); while (patrolId > myInterface.GetPatrolsCount()) { myInterface.PatrolAddEmpty(false); } competitor.PatrolId = patrolId; string laneString = null; if (!row.IsNull(viewTableColumnNames.Bana.ToString())) { laneString = (string)row[viewTableColumnNames.Bana.ToString()]; } if (laneString != null && laneString.Trim() != "") { competitor.Lane = int.Parse(laneString); } else { competitor.Lane = myInterface.PatrolGetNextLane(patrolId); } } catch (System.FormatException) { // If this occurres, just ignore. It really shouldn't, since // it has already been checked } } myInterface.NewCompetitor(competitor, false); } myInterface.updatedFileImportCount( ViewDatatable.Rows.Count, ViewDatatable.Rows.Count); myInterface.updatedShooter(new Structs.Shooter()); myInterface.updatedCompetitor(new Structs.Competitor()); myInterface.updatedPatrol(); }