public MechanicalNavigationViewModel(SearchFilterControl searchFilterControl)
        {
            CompositionInitializer.SatisfyImports(this);

            mSearchFilterControl = searchFilterControl;

            mGridRefreshTimer.Interval = TimeSpan.FromMilliseconds(500);
            mGridRefreshTimer.Tick += (sender, eventArgs) => { mGridRefreshTimer.Stop(); ProcessSearchFilter(); };

            ImportNewMechanicalsCommand = new DelegateCommand<object>(ImportNewMechanicalsHandler, CanImport);
            ImportNewMechanicalComponentsCommand = new DelegateCommand<object>(ImportNewMechanicalComponentsHandler, CanImport);

            ImportNewRelatedDocumentsCommand = new DelegateCommand<object>(ImportNewRelatedDocumentsHandler, CanImport);
            ImportExistingMechanicalsCommand = new DelegateCommand<object>(ImportExistingMechanicalsHandler, CanImport);
            ImportExistingMechanicalComponentsCommand = new DelegateCommand<object>(ImportExistingMechanicalComponentsHanlder, CanImport);

            CreateAttachmentsCommand = new DelegateCommand<object>(CreateAttachmentsHandler, CanImport);
            PreferredEquipmentCommand = new DelegateCommand<object>(PreferredEquipmentHandler, x => (CMS.EffectivePrivileges.AdminTab.CanView || CMS.EffectivePrivileges.MechanicalTab.CanView));

            ClearFilterCommand = new DelegateCommand<object>(x => { ClearControls(); ProcessSearchFilter(); searchFilterControl.SetFilterIsOn(false); }, x => true);
            SearchCommand = new DelegateCommand<object>(x => ProcessSearchFilter(), x => true);
            KeywordKeyCommand = new DelegateCommand<object>(x => ProcessSearchFilter(), x => true);
            MaintSysIdKeyCommand = new DelegateCommand<object>(x => ProcessSearchFilter(), x => true);

            LoadData();
        }
        public ControlSystemNavigationViewModel(SearchFilterControl searchFilterControl)
        {
            CompositionInitializer.SatisfyImports(this);
            mSearchFilterControl = searchFilterControl;
            mGridRefreshTimer.Interval = TimeSpan.FromMilliseconds(500);
            mGridRefreshTimer.Tick += (sender, eventArgs) => { mGridRefreshTimer.Stop(); ProcessSearchFilter(); };

            FilterControlIsEnabled = false;

            LoadData();

            ImportNewControlSystemsCommand = new DelegateCommand<object>(ImportNewControlSystemsHandler, CanImport);
            ImportNewControlComponentsCommand = new DelegateCommand<object>(ImportNewControlComponentsHandler, CanImport);
            ImportNewEngineeringPropertiesCommand = new DelegateCommand<object>(ImportNewEngineeringPropertiesHandler, CanImport);
            ImportNewTuningPropertiesCommand = new DelegateCommand<object>(ImportNewTuningPropertiesHanlder, CanImport);
            ImportNewTestsCommand = new DelegateCommand<object>(ImportNewTestsHanlder, CanImport);
            ImportNewInterlocksCommand = new DelegateCommand<object>(ImportNewInterlocksHandler, CanImport);
            ImportNewInterlockRisksCommand = new DelegateCommand<object>(ImportNewInterlockRisksHandler, CanImport);
            ImportNewAttachmentsCommand = new DelegateCommand<object>(ImportNewAttachmentsHandler, CanImport);
            ImportNewRelatedDocumentsCommand = new DelegateCommand<object>(ImportNewRelatedDocumentsHandler, CanImport);

            ClearFilterCommand = new DelegateCommand<object>(ClearFilterHandler, x => true);
            SearchCommand = new DelegateCommand<object>(x => ProcessSearchFilter(), x => true);
            KeywordKeyCommand = new DelegateCommand<object>(x => ProcessSearchFilter(), x => true);

            ImportExistingControlSystemsCommand = new DelegateCommand<object>(ImportExistingControlSystemsHandler, CanImport);
            ImportExistingControlComponentsCommand = new DelegateCommand<object>(ImportExistingControlComponentsHandler, CanImport);
            ImportExistingEngineeringPropertiesCommand = new DelegateCommand<object>(ImportExistingEngineeringPropertiesHandler, CanImport);
            ImportExistingTuningPropertiesCommand = new DelegateCommand<object>(ImportExistingTuningPropertiesHanlder, CanImport);
            ImportExistingComponentTestsCommand = new DelegateCommand<object>(ImportExistingTestsHanlder, CanImport);
            ImportExistingInterlocksCommand = new DelegateCommand<object>(ImportExistingInterlocksHandler, CanImport);
            ImportExistingInterlockRisksCommand = new DelegateCommand<object>(ImportExistingInterlockRisksHandler, CanImport);

               //alarms
            ImportNewAlarmsCommand = new DelegateCommand<object>(ImportNewAlarmsHandler, CanImport);
            ImportExistingAlarmsCommand = new DelegateCommand<object>(ImportExistingAlarmsHandler, CanImport);
        }
        public DocumentNavigationViewModel(SearchFilterControl searchFilterControl)
        {
            mSearchFilterControl = searchFilterControl;

            mGridRefreshTimer.Interval = TimeSpan.FromMilliseconds(500);
            mGridRefreshTimer.Tick += (sender, eventArgs) => { mGridRefreshTimer.Stop(); ProcessSearchFilter(); };

            ImportNewDocumentsLink = new DelegateCommand<object>(ImportNewDocumentsHandler, CanUserImport);
            ImportNewDocumentVersionsLink = new DelegateCommand<object>(ImportNewDocumentVersionsHandler, CanUserImport);
            ImportDocumentEquipmentsLink = new DelegateCommand<object>(ImportDocumentEquipmentsHandler, CanUserImport);
            ImportDocumentLocationsLink = new DelegateCommand<object>(ImportNewDocumentLocationsHandler, CanUserImport);

            UpdateDocumentsLink = new DelegateCommand<object>(UpdateDocumentsHandler, CanUserImport);
            UpdateDocumentVersionsLink = new DelegateCommand<object>(UpdateDocumentVersionsHandler, CanUserImport);
            CreateAttachmentsLink = new DelegateCommand<object>(CreateAttachmentsHandler, CanUserImport);
            ImportNewRelatedDocumentsCommand = new DelegateCommand<object>(ImportNewRelatedDocumentsHandler, CanUserImport);

            ClearFilterCommand = new DelegateCommand<object>(x => { ClearControls(); ProcessSearchFilter(); searchFilterControl.SetFilterIsOn(false); }, x => true);
            SearchCommand = new DelegateCommand<object>(x => ProcessSearchFilter(), x => true);
            KeywordKeyCommand = new DelegateCommand<object>(x => ProcessSearchFilter(), x => true);

            DescriptionChecked = true;
            StartLoad();
        }