public PositionGroupingViewModel(PositionGrouping positionGrouping, ReadOnlyObservableCollection <FilterViewModel> filters)
        {
            Position            = positionGrouping.Position ?? throw new ArgumentNullException(nameof(positionGrouping), @"PositionGrouping cannot be null.");
            _filterVmCollection = filters ?? throw new ArgumentNullException(nameof(filters), @"filters cannot be null.");


            _employeeVmCollection = new ObservableCollection <EmployeeViewModel>(
                positionGrouping.Employees
                .Select(e =>
            {
                var evm              = new EmployeeViewModel(e);
                evm.PropertyChanged += OnIsModifyChanged;
                return(evm);
            })
                );

            EmployeeVmCollection = _employeeVmCollection.Where(ep => IsActivePredicate(ep) &&
                                                               PositionPredicate(ep) &&
                                                               AppointmentPredicate(ep) &&
                                                               ShiftPredicate(ep) &&
                                                               RankPredicate(ep) &&
                                                               IsSmokerPredicate(ep)
                                                               )
                                   .OrderBy(ep => ep.SecondName);
        }
示例#2
0
        private static string CalculatePercentage(PositionGrouping positionGrouping, TeamSeasonSimulationResult teamSeasonSimulationResult)
        {
            var count = teamSeasonSimulationResult.PositionGroupingCount(positionGrouping);

            return(count == 0
                ? string.Empty
                : ((double)count / teamSeasonSimulationResult.Positions.Count * 100).ToString(".0"));
        }