public ShellViewModel(IViewsService viewsService, IServiceLocator serviceLocator, IUpdateService updateService)
        {
            _ViewsService   = viewsService;
            _ServiceLocator = serviceLocator;
            _UpdateService  = updateService;

            ExitCommand = new DelegateCommand(() => Application.Current.Shutdown());
            RealtorAgencyDictionaryCommand = new DelegateCommand(() => _ViewsService.OpenView <RealtorAgencyDictionaryViewModel>());
            DealVariantsDictionaryCommand  = new DelegateCommand(() => _ViewsService.OpenView <DealVariantsDictionaryViewModel>());
            DistrictsDictionaryCommand     = new DelegateCommand(() => _ViewsService.OpenView <DistrictsDictionaryViewModel>());

            FloorLevelDictionaryCommand  = new DelegateCommand(() => _ViewsService.OpenView <FloorLevelDictionaryViewModel>());
            LayoutDictionaryCommand      = new DelegateCommand(() => _ViewsService.OpenView <LayoutDictionaryViewModel>());
            MaterialDictionaryCommand    = new DelegateCommand(() => _ViewsService.OpenView <MaterialDictionaryViewModel>());
            OwnershipDictionaryCommand   = new DelegateCommand(() => _ViewsService.OpenView <OwnershipDictionaryViewModel>());
            RealtorDictionaryCommand     = new DelegateCommand(() => _ViewsService.OpenView <RealtorDictionaryViewModel>());
            SewageDictionaryCommand      = new DelegateCommand(() => _ViewsService.OpenView <SewageDictionaryViewModel>());
            StreetDictionaryCommand      = new DelegateCommand(() => _ViewsService.OpenView <StreetDictionaryViewModel>());
            TerraceDictionaryCommand     = new DelegateCommand(() => _ViewsService.OpenView <TerraceDictionaryViewModel>());
            ToiletTypeDictionaryCommand  = new DelegateCommand(() => _ViewsService.OpenView <ToiletTypeDictionaryViewModel>());
            WaterSupplyDictionaryCommand = new DelegateCommand(() => _ViewsService.OpenView <WaterSupplyDictionaryViewModel>());
            ConditionDictionaryCommand   = new DelegateCommand(() => _ViewsService.OpenView <ConditionDictionaryViewModel>());
            DestinationDictionaryCommand = new DelegateCommand(() => _ViewsService.OpenView <DestinationDictionaryViewModel>());

            AboutCommand        = new DelegateCommand(() => _ViewsService.OpenAboutDialog());
            CheckUpdatesCommand = new DelegateCommand(() => _UpdateService.CheckUpdates(true));
            ConfigCommand       = new DelegateCommand(() => _ViewsService.OpenConfigDialog());
            ExportToWordCommand = new DelegateCommand(ExportToWord);

            FlatsDataContext     = _ServiceLocator.GetInstance <FlatListViewModel>();
            RoomsDataContext     = _ServiceLocator.GetInstance <RoomListViewModel>();
            PlotsDataContext     = _ServiceLocator.GetInstance <PlotListViewModel>();
            HousesDataContext    = _ServiceLocator.GetInstance <HouseListViewModel>();
            ResidenceDataContext = _ServiceLocator.GetInstance <ResidenceListViewModel>();

            _UpdateService.StartPeriodicCheck();
        }