private void printShooter(PrintPageEventArgs ev, Structs.Shooter shooter, ref float yPos) { Structs.Competitor[] competitors = CommonCode.GetCompetitors(shooter.ShooterId, "PatrolId"); foreach (Structs.Competitor comp in competitors) { if (comp.PatrolId > 0) { Structs.Patrol patrol = CommonCode.GetPatrol(comp.PatrolId); ev.Graphics.DrawString(patrol.StartDateTimeDisplay.ToShortTimeString(), printCompetitorFont, Brushes.Black, LeftMargin + tab1, yPos, new StringFormat()); ev.Graphics.DrawString(patrol.PatrolId.ToString(), printCompetitorFont, Brushes.Black, LeftMargin + tab2, yPos, new StringFormat()); } Structs.Weapon weapon = CommonCode.GetWeapon(comp.WeaponId); ev.Graphics.DrawString(weapon.Manufacturer + ", " + weapon.Model + "(" + comp.WeaponId + ")", printCompetitorFont, Brushes.Black, LeftMargin + tab3, yPos, new StringFormat()); yPos += printHeaderFont.GetHeight(); } currentShooter++; }
internal bool CheckChangePatrolConnectionTypeIsPossible( Structs.Patrol patrol, Structs.PatrolConnectionTypeEnum newPatrolConnectionType) { Structs.Competitor[] competitors = myInterface.GetCompetitors(patrol); if (competitors.Length == 0) { return(true); // Since there are no competitors, patrol is changeable } Structs.Weapon weapon = myInterface.GetWeapon(competitors[0].WeaponId); Structs.PatrolClass patrolClass = myInterface.ConvertWeaponsClassToPatrolClass( weapon.WClass, newPatrolConnectionType); foreach (Structs.Competitor competitor in competitors) { weapon = myInterface.GetWeapon(competitor.WeaponId); if (patrolClass != myInterface.ConvertWeaponsClassToPatrolClass( weapon.WClass, newPatrolConnectionType)) { return(false); } } return(true); }
private string createPatrolHtmlCompetitor(Structs.Competitor comp) { string tdclass = ""; if (comp.Lane % 2 == 0) { tdclass = " class=\"resultevenline\" "; } else { tdclass = " class=\"resultoddline\" "; } StringBuilder html = new StringBuilder(); Structs.Shooter shooter = myInterface.GetShooter(comp.ShooterId); html.Append("<tr>\r\n"); html.Append("<td " + tdclass + ">" + comp.Lane.ToString() + "</td>\r\n"); html.Append("<td " + tdclass + ">" + shooter.Givenname + " " + shooter.Surname + "</td>\r\n"); html.Append("<td " + tdclass + ">" + comp.ShooterClass.ToString() + "</td>\r\n"); Structs.Weapon weapon = myInterface.GetWeapon(comp.WeaponId); html.Append("<td " + tdclass + ">" + weapon.Manufacturer + "</td>\r\n"); html.Append("<td " + tdclass + ">" + weapon.Model + "</td>\r\n"); html.Append("<td " + tdclass + ">" + weapon.Caliber + "</td>\r\n"); html.Append("</tr>\r\n"); return(html.ToString()); }
private string getShooterClassString(Structs.Competitor comp) { string toReturn = ""; Structs.Weapon weapon = CommonCode.GetWeapon(comp.WeaponId); toReturn += CommonCode.ConvertWeaponsClassToResultClass(weapon.WClass).ToString(); Structs.ShootersClassShort shortSC = (Structs.ShootersClassShort)comp.ShooterClass; toReturn += shortSC.ToString() .Replace("Klass", ""); return(toReturn); }
private string getWeapon(Structs.Weapon weapon) { string weaponString = ""; if (weapon.WeaponId.StartsWith(Unknown)) { weaponString = weapon.WeaponId.Replace(Unknown, ""); } else { weaponString = weapon.WeaponId; if (!weaponString.EndsWith(")")) { weaponString += " (" + weapon.WClass + ")"; } } return(weaponString); }
private void ddWeapons_SelectedIndexChanged(object sender, System.EventArgs e) { if ((string)this.ddWeapons.SelectedValue == NewWeaponValue) { this.restoreWindow(); } else { this.txtWeaponId.Enabled = false; this.btnDelete.Enabled = true; Structs.Weapon weapon = CommonCode.GetWeapon((string)this.ddWeapons.SelectedValue); this.txtWeaponId.Text = weapon.WeaponId; this.txtManufacturer.Text = weapon.Manufacturer; this.txtModel.Text = weapon.Model; this.txtCaliber.Text = weapon.Caliber; this.ddClass.SelectedValue = (int)weapon.WClass; this.chkInternet.Checked = weapon.Automatic; } }
private void ChangePatrolConnectionType( Structs.PatrolConnectionTypeEnum newPatrolConnectionType, Structs.Patrol patrol) { Structs.Competitor[] competitors = myInterface.GetCompetitors(patrol); if (competitors.Length == 0) { return; } Structs.Weapon weapon = myInterface.GetWeapon(competitors[0].WeaponId); Structs.PatrolClass patrolClass = myInterface.ConvertWeaponsClassToPatrolClass( weapon.WClass, newPatrolConnectionType); if (patrolClass != patrol.PClass) { patrol.PClass = patrolClass; myInterface.UpdatePatrol(patrol); } }
private void populatePatrol(Structs.Patrol thisPatrol) { Trace.WriteLine("FPatrol: populatePatrol started on thread \"" + Thread.CurrentThread.Name + "\" ( " + Thread.CurrentThread.ManagedThreadId.ToString() + " )"); this.datasetPatrol.shooters.Clear(); // Populate list with competitors from this patrol Structs.Competitor[] competitors = CommonCode.GetCompetitors(thisPatrol, "Lane"); foreach (Structs.Competitor competitor in competitors) { DatasetPatrol.shootersRow patrolRow = this.datasetPatrol.shooters.NewshootersRow(); // Fetch data for row Structs.Shooter shooter = CommonCode.GetShooter(competitor.ShooterId); Structs.Club club = CommonCode.GetClub(shooter.ClubId); Structs.Weapon weapon = CommonCode.GetWeapon(competitor.WeaponId); // Populate row patrolRow.Move = false; patrolRow.competitorId = competitor.CompetitorId; patrolRow.Name = shooter.Givenname + " " + shooter.Surname; patrolRow.Club = club.Name; patrolRow.Weapon = weapon.Manufacturer + "," + weapon.Model + "," + weapon.Caliber; patrolRow.Lane = competitor.Lane; patrolRow.WeaponClass = weapon.WClass.ToString().Substring(0, 1); this.datasetPatrol.shooters.AddshootersRow(patrolRow); } Trace.WriteLine("FPatrol: populatePatrol ended."); }
private void populateUnassigned(Structs.PatrolClass thisClass) { Trace.WriteLine("FPatrol: populateCompetitorList started on thread \"" + Thread.CurrentThread.Name + "\" ( " + Thread.CurrentThread.ManagedThreadId.ToString() + " )"); this.datasetPatrol.unassigned.Clear(); // Populate list with competitors, not yet assigned to a patrol Structs.Competitor[] competitors = CommonCode.GetCompetitorsWithNoPatrol(thisClass); foreach (Structs.Competitor competitor in competitors) { DatasetPatrol.unassignedRow patrolRow = this.datasetPatrol.unassigned.NewunassignedRow(); // Fetch data for row Structs.Shooter shooter = CommonCode.GetShooter(competitor.ShooterId); Structs.Club club = CommonCode.GetClub(shooter.ClubId); Structs.Weapon weapon = CommonCode.GetWeapon(competitor.WeaponId); // Populate row patrolRow.Move = false; patrolRow.competitorId = competitor.CompetitorId; patrolRow.Name = shooter.Givenname + " " + shooter.Surname; patrolRow.Club = club.Name; patrolRow.Weapon = weapon.Manufacturer + "," + weapon.Model; patrolRow.WeaponClass = weapon.WClass.ToString(); this.datasetPatrol.unassigned.AddunassignedRow(patrolRow); } Trace.WriteLine("FPatrol: populateCompetitorList ended."); }
private double writePatrol(ref pdfPage page, Structs.Patrol patrol, ref double yPos) { if (yPos + conversionPixelsToMM * fontSize > bottomMargin) { page = getNewPage(ref yPos); yPos = writePatrolHeader(page, yPos); } addText(page, patrol.PatrolId.ToString() + " ( " + patrol.StartDateTimeDisplay.ToShortTimeString() + " )", columnPatrolsPatrolPos, yPos, font, fontSize); foreach (Structs.Competitor comp in myInterface.GetCompetitors(patrol)) { if (yPos + conversionPixelsToMM * fontSize > bottomMargin) { page = getNewPage(ref yPos); yPos = writePatrolHeader(page, yPos); } Structs.Shooter shooter = myInterface.GetShooter(comp.ShooterId); Structs.Club club = myInterface.GetClub(shooter.ClubId); Structs.Weapon weapon = myInterface.GetWeapon(comp.WeaponId); string weaponString = getWeapon(weapon); addText(page, shooter.Givenname + ", " + shooter.Surname, columnPatrolsNamePos, yPos, columnPatrolsClubNamePos - columnPatrolsNamePos, font, fontSize); addText(page, club.Name, columnPatrolsClubNamePos, yPos, columnPatrolsWeaponPos - columnPatrolsClubNamePos, font, fontSize); yPos = addText(page, weaponString, columnPatrolsWeaponPos, yPos, font, fontSize); yPos += 1; } return(yPos); }
private void printThisCompetitor(PrintPageEventArgs ev, Structs.Competitor comp, ref float yPos) { Structs.Shooter shooter = CommonCode.GetShooter(comp.ShooterId); Structs.Club club = CommonCode.GetClub(shooter.ClubId); Structs.Weapon weapon = CommonCode.GetWeapon(comp.WeaponId); // Print name string shooterName = shooter.Surname + " " + shooter.Givenname + ", " + club.Name; ev.Graphics.DrawString(shooterName, printCompetitorFont, Brushes.Black, placeNameX, yPos, new StringFormat()); // Print Club /*ev.Graphics.DrawString(club.Name, * printCompetitorFont, Brushes.Black, placeClubX, yPos, * new StringFormat());*/ // Print weaponsgroup ev.Graphics.DrawString(weapon.WClass.ToString(), printCompetitorFont, Brushes.Black, placeLeftHeaderX, yPos + 2 * printCompetitorFont.Height, new StringFormat()); // Print shooterclass Structs.ShootersClassShort sclassshort = (Structs.ShootersClassShort) (int) comp.ShooterClass; ev.Graphics.DrawString(sclassshort.ToString(), printCompetitorFont, Brushes.Black, placeLeftHeaderX, yPos + 4 * printCompetitorFont.Height, new StringFormat()); // Print weapon if (comp.WeaponId.ToLower().IndexOf("unknown") == -1) { ev.Graphics.DrawString(comp.WeaponId.Replace("Unknown", ""), printCompetitorFont, Brushes.Black, placeLeftHeaderX, yPos + 6 * printCompetitorFont.Height, new StringFormat()); } // Draw "arrived" checkbox float size = printCompetitorFont.Height; float left = placeNameX + ev.Graphics.MeasureString(shooterName, printCompetitorFont).Width + 10; float height = yPos; ev.Graphics.DrawString("Ankommit", printCompetitorFont, Brushes.Black, left + size, height, new StringFormat()); Pen pen = new Pen(Brushes.Black, 2); ev.Graphics.DrawLine(pen, left, height, left + size, height); ev.Graphics.DrawLine(pen, left, height + size, left + size, height + size); ev.Graphics.DrawLine(pen, left, height, left, height + size); ev.Graphics.DrawLine(pen, left + size, height, left + size, height + size); if (shooter.Arrived) { ev.Graphics.DrawLine(pen, left, height, left + size, height + size); ev.Graphics.DrawLine(pen, left + size, height, left, height + size); } printEmptyCompetitor(ev, ref yPos, comp.Lane); }
private void btnSave_Click(object sender, System.EventArgs e) { if (this.txtWeaponId.Text.Length == 0 | this.txtManufacturer.Text.Length == 0 | this.txtModel.Text.Length == 0) { MessageBox.Show("Du måste skriva något i vapnets tillverkare, modell och id"); return; } if ((string)this.ddWeapons.SelectedValue == NewWeaponValue) { // New weapon Structs.Weapon weapon = new Structs.Weapon(); weapon.WeaponId = this.txtWeaponId.Text; weapon.Manufacturer = this.txtManufacturer.Text; weapon.Model = this.txtModel.Text; weapon.Caliber = this.txtCaliber.Text; weapon.WClass = (Structs.WeaponClass) Convert.ToInt32( (string)this.ddClass.SelectedValue); weapon.Automatic = false; weapon.ToAutomatic = false; if (CommonCode.EnableInternetConnections) { DialogResult res = MessageBox.Show("Vill du lägga till vapnet \"" + this.txtManufacturer.Text + ", " + this.txtModel.Text + "\" till Internet-databasen?", "Internet-databasen", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (DialogResult.Yes == res) { weapon.ToAutomatic = true; } } CommonCode.NewWeapon(weapon); } else { Structs.Weapon updatedWeapon = CommonCode.GetWeapon((string)this.ddWeapons.SelectedValue); updatedWeapon.WClass = (Structs.WeaponClass) Convert.ToInt32( (string)this.ddClass.SelectedValue); updatedWeapon.Manufacturer = this.txtManufacturer.Text; updatedWeapon.Model = this.txtModel.Text; updatedWeapon.Caliber = this.txtCaliber.Text; updatedWeapon.Automatic = this.chkInternet.Checked; updatedWeapon.ToAutomatic = false; if (CommonCode.EnableInternetConnections) { string text = "Vill du ändra vapnet \"" + this.txtManufacturer.Text + "," + this.txtModel.Text + "\" i Internet-databasen?"; if (this.chkInternet.Checked == false) { text = "Vill du lägga till vapnet \"" + this.txtManufacturer.Text + "," + this.txtModel.Text + "\" i Internet-databasen?"; } DialogResult res = MessageBox.Show(text, "Internet-databasen", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (DialogResult.Yes == res) { updatedWeapon.ToAutomatic = true; } } CommonCode.UpdateWeapon(updatedWeapon); } restoreWindow(); }
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()); }
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); }