Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
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.");
        }
Ejemplo n.º 4
0
        static internal Structs.PatrolClass ConvertWeaponsClassToPatrolClass(
            Structs.WeaponClass weapon,
            Structs.PatrolConnectionTypeEnum type)
        {
            Structs.PatrolClass returnClass = Structs.PatrolClass.Okänd;

            switch (type)
            {
            case Structs.PatrolConnectionTypeEnum.Disparate:
            {
                switch (weapon)
                {
                case Structs.WeaponClass.Unknown:
                    returnClass = Structs.PatrolClass.Okänd;
                    break;

                case Structs.WeaponClass.A1:
                    returnClass = Structs.PatrolClass.A;
                    break;

                case Structs.WeaponClass.A2:
                    returnClass = Structs.PatrolClass.A;
                    break;

                case Structs.WeaponClass.A3:
                    returnClass = Structs.PatrolClass.A;
                    break;

                case Structs.WeaponClass.B:
                    returnClass = Structs.PatrolClass.B;
                    break;

                case Structs.WeaponClass.C:
                    returnClass = Structs.PatrolClass.C;
                    break;

                case Structs.WeaponClass.R:
                    returnClass = Structs.PatrolClass.R;
                    break;

                case Structs.WeaponClass.M:
                    returnClass = Structs.PatrolClass.M;
                    break;
                }
                break;
            }

            case Structs.PatrolConnectionTypeEnum.AR_BC:
            {
                switch (weapon)
                {
                case Structs.WeaponClass.Unknown:
                    returnClass = Structs.PatrolClass.Okänd;
                    break;

                case Structs.WeaponClass.A1:
                    returnClass = Structs.PatrolClass.AR;
                    break;

                case Structs.WeaponClass.A2:
                    returnClass = Structs.PatrolClass.AR;
                    break;

                case Structs.WeaponClass.A3:
                    returnClass = Structs.PatrolClass.AR;
                    break;

                case Structs.WeaponClass.B:
                    returnClass = Structs.PatrolClass.BC;
                    break;

                case Structs.WeaponClass.C:
                    returnClass = Structs.PatrolClass.BC;
                    break;

                case Structs.WeaponClass.R:
                    returnClass = Structs.PatrolClass.AR;
                    break;

                case Structs.WeaponClass.M:
                    returnClass = Structs.PatrolClass.M;
                    break;
                }
                break;
            }

            case Structs.PatrolConnectionTypeEnum.AR_B_C_M:
            {
                switch (weapon)
                {
                case Structs.WeaponClass.Unknown:
                    returnClass = Structs.PatrolClass.Okänd;
                    break;

                case Structs.WeaponClass.A1:
                    returnClass = Structs.PatrolClass.AR;
                    break;

                case Structs.WeaponClass.A2:
                    returnClass = Structs.PatrolClass.AR;
                    break;

                case Structs.WeaponClass.A3:
                    returnClass = Structs.PatrolClass.AR;
                    break;

                case Structs.WeaponClass.B:
                    returnClass = Structs.PatrolClass.B;
                    break;

                case Structs.WeaponClass.C:
                    returnClass = Structs.PatrolClass.C;
                    break;

                case Structs.WeaponClass.R:
                    returnClass = Structs.PatrolClass.AR;
                    break;

                case Structs.WeaponClass.M:
                    returnClass = Structs.PatrolClass.M;
                    break;
                }
                break;
            }

            case Structs.PatrolConnectionTypeEnum.ABCRM:
            {
                switch (weapon)
                {
                case Structs.WeaponClass.Unknown:
                    returnClass = Structs.PatrolClass.Okänd;
                    break;

                case Structs.WeaponClass.A1:
                    returnClass = Structs.PatrolClass.ABCRM;
                    break;

                case Structs.WeaponClass.A2:
                    returnClass = Structs.PatrolClass.ABCRM;
                    break;

                case Structs.WeaponClass.A3:
                    returnClass = Structs.PatrolClass.ABCRM;
                    break;

                case Structs.WeaponClass.B:
                    returnClass = Structs.PatrolClass.ABCRM;
                    break;

                case Structs.WeaponClass.C:
                    returnClass = Structs.PatrolClass.ABCRM;
                    break;

                case Structs.WeaponClass.R:
                    returnClass = Structs.PatrolClass.ABCRM;
                    break;

                case Structs.WeaponClass.M:
                    returnClass = Structs.PatrolClass.ABCRM;
                    break;
                }
                break;
            }

            default:
            {
                throw new NotImplementedException(type.ToString());
            }
            }
            return(returnClass);
        }