コード例 #1
0
ファイル: OrionGenerate.cs プロジェクト: roald-p/FeltAdmin
        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);
        }
コード例 #2
0
        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);
        }