예제 #1
0
        public MainWindowViewModel(
            Lazy <IApplication> application,
            IViewModelFactory viewModelFactory,
            IMessenger messenger,
            IDialogService dialogService,
            IQueryPersistenceService queryPersistenceService,
            AccountCommands accountCommands)
        {
            _application             = application;
            _viewModelFactory        = viewModelFactory;
            _messenger               = messenger;
            _dialogService           = dialogService;
            _queryPersistenceService = queryPersistenceService;
            _accountCommands         = accountCommands;
            Tabs     = new ObservableCollection <TabViewModelBase>();
            Accounts = _viewModelFactory.CreateAccounts();

            _messenger.Subscribe(this).To <NewQuerySheetMessage>((vm, message) => vm.OnNewQuerySheetMessage(message));
            _messenger.Subscribe(this).To <OpenScriptMessage <CosmosStoredProcedure> >((vm, message) => vm.OnOpenScriptMessage(message, _viewModelFactory.CreateStoredProcedureEditor));
            _messenger.Subscribe(this).To <OpenScriptMessage <CosmosUserDefinedFunction> >((vm, message) => vm.OnOpenScriptMessage(message, _viewModelFactory.CreateUserDefinedFunctionEditor));
            _messenger.Subscribe(this).To <OpenScriptMessage <CosmosTrigger> >((vm, message) => vm.OnOpenScriptMessage(message, _viewModelFactory.CreateTriggerEditor));
            _messenger.Subscribe(this).To <SetStatusBarMessage>((vm, message) => vm.OnSetStatusBarMessage(message));

            MruList = new ObservableCollection <string>(_queryPersistenceService.LoadMruList());
            LoadWorkspace();
        }