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