Example #1
0
        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);
        }
Example #3
0
        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());
        }
Example #4
0
        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);
        }
Example #6
0
        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);
            }
        }
Example #8
0
        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.");
        }
Example #9
0
        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);
        }
Example #12
0
        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();
        }
Example #13
0
        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());
        }
Example #14
0
        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);
        }