public static List <OrionRegistration> GenerateOrionForShooter(LeonPerson person, OrionSetupViewModel orionViewModel) { var result = new List <OrionRegistration>(); var allRanges = orionViewModel.OrionViewModels.SelectMany(o => o.RangeViews).OrderBy(r => r.RangeId); int currentTeam = person.Team; foreach (var range in allRanges) { if (range.RangeType == RangeType.Pause) { currentTeam++; continue; } var orionRegistration = new OrionRegistration { OrionId = range.Parent.OrionId, Team = currentTeam, Target = range.FirstTarget + person.Target - 1, Name = person.Name, ClubName = person.ClubName, Class = person.Class, SumIn = person.SumIn, ShooterId = person.ShooterId, RangeId = range.RangeId, RangeName = range.Name }; result.Add(orionRegistration); currentTeam++; } return(result); }
private RangeViewModel GetRange(OrionRegistration registration) { foreach (var orionViewModel in m_orionSetupViewModel.OrionViewModels) { if (registration.OrionId == orionViewModel.OrionId) { foreach (var rangeViewModel in orionViewModel.RangeViews) { if (rangeViewModel.RangeType == RangeType.Shooting && registration.Target >= rangeViewModel.FirstTarget && registration.Target <= rangeViewModel.LastTarget) { return(rangeViewModel); } } } } return(null); }