Ejemplo n.º 1
0
        private bool checkChangePatrolConnectionTypeIsPossible()
        {
            Structs.PatrolConnectionTypeEnum newPatrolConnectionType =
                (Structs.PatrolConnectionTypeEnum)DDPatrolConnectionType.SelectedIndex;
            Structs.Patrol[] patrols = CommonCode.GetPatrols();

            string listOfPatrolsThatFailedCheck = "";

            foreach (Structs.Patrol patrol in patrols)
            {
                if (!CommonCode.CheckChangePatrolConnectionTypeIsPossible(patrol, newPatrolConnectionType))
                {
                    listOfPatrolsThatFailedCheck += patrol.PatrolId.ToString() + ",";
                }
            }
            if (listOfPatrolsThatFailedCheck.Length > 0)
            {
                listOfPatrolsThatFailedCheck =
                    listOfPatrolsThatFailedCheck.Substring(0, listOfPatrolsThatFailedCheck.Length - 1);

                MessageBox.Show("Du kan inte ändra hur patruller kopplas samman " +
                                "eftersom befintliga patruller inte uppfyller det nya kravet. " +
                                "Patruller med detta problem är:\r\n" + listOfPatrolsThatFailedCheck,
                                "Kan inte spara ändrad tävling", MessageBoxButtons.OK);
                return(false);
            }
            else
            {
                return(true);
            }
        }
Ejemplo n.º 2
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.º 3
0
 internal void ChangePatrolConnectionType(
     Structs.PatrolConnectionTypeEnum newPatrolConnectionType)
 {
     Structs.Patrol[] patrols = myInterface.GetPatrols();
     foreach (Structs.Patrol patrol in patrols)
     {
         if (!CheckChangePatrolConnectionTypeIsPossible(patrol, newPatrolConnectionType))
         {
             throw new ApplicationException("Trying to change a patrolconnectiontype which isn't possiblen on PatrolId " + patrol.PatrolId);
         }
     }
     foreach (Structs.Patrol patrol in patrols)
     {
         ChangePatrolConnectionType(newPatrolConnectionType, patrol);
     }
 }
Ejemplo n.º 4
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.º 5
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);
        }