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