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 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 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."); }
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); }