public DeliveryAnalyticsViewModel( IUnitOfWorkFactory unitOfWorkFactory, IInteractiveService interactiveService, INavigationManager navigation, IEntityAutocompleteSelectorFactory districtSelectorFactory) : base(interactiveService, navigation) { _interactiveService = interactiveService ?? throw new ArgumentNullException(nameof(interactiveService)); DistrictSelectorFactory = districtSelectorFactory ?? throw new ArgumentNullException(nameof(districtSelectorFactory)); if (unitOfWorkFactory is null) { throw new ArgumentNullException(nameof(unitOfWorkFactory)); } Uow = unitOfWorkFactory.CreateWithoutRoot(); Title = "Аналитика объёмов доставки"; WaveList = new GenericObservableList <WaveNode>(); WeekDayName = new GenericObservableList <WeekDayNodes>(); GeographicGroupNodes = new GenericObservableList <GeographicGroupNode>(); WageDistrictNodes = new GenericObservableList <WageDistrictNode>(); foreach (var wage in Uow.GetAll <WageDistrict>().Select(x => x).ToList()) { var wageNode = new WageDistrictNode(wage); wageNode.Selected = true; WageDistrictNodes.Add(wageNode); } foreach (var geographic in Uow.GetAll <GeographicGroup>().Select(x => x).ToList()) { var geographicNode = new GeographicGroupNode(geographic); geographicNode.Selected = true; GeographicGroupNodes.Add(geographicNode); } foreach (var wave in Enum.GetValues(typeof(WaveNodes))) { var waveNode = new WaveNode { WaveNodes = (WaveNodes)wave, Selected = true }; WaveList.Add(waveNode); } foreach (var week in Enum.GetValues(typeof(WeekDayName))) { if ((WeekDayName)week == Domain.Sale.WeekDayName.Today) { continue; } var weekNode = new WeekDayNodes { WeekNameNode = (WeekDayName)week, Selected = true }; WeekDayName.Add(weekNode); } }