public QueryRunnerViewModel(Guid fileId, IHighlightingDefinition highlightingDefinition, Func <ExplicitConnection> connectionProvider, Func <GeneralSettings> generalSettingsProvider, Action <Result> editHandler, ISnackbarMessageQueue snackbarMessageQueue, IDialogTargetFinder dialogTargetFinder) { if (highlightingDefinition == null) { throw new ArgumentNullException(nameof(highlightingDefinition)); } if (connectionProvider == null) { throw new ArgumentNullException(nameof(connectionProvider)); } if (generalSettingsProvider == null) { throw new ArgumentNullException(nameof(generalSettingsProvider)); } if (editHandler == null) { throw new ArgumentNullException(nameof(editHandler)); } if (snackbarMessageQueue == null) { throw new ArgumentNullException(nameof(snackbarMessageQueue)); } if (dialogTargetFinder == null) { throw new ArgumentNullException(nameof(dialogTargetFinder)); } HighlightingDefinition = highlightingDefinition; _connectionProvider = connectionProvider; _generalSettingsProvider = generalSettingsProvider; _editHandler = editHandler; _dialogTargetFinder = dialogTargetFinder; RunQueryCommand = new Command(_ => RunQuery()); _fetchMoreCommand = new Command(_ => FetchMore(), _ => _activeDocumentQuery != null && _activeDocumentQuery.Item2.HasMoreResults); var editDocumentCommand = new Command(o => _editHandler((Result)o), o => o is Result); var deleteDocumentCommand = new Command(o => DeleteDocument((Result)o, snackbarMessageQueue), o => o is Result); Document = new TextDocument(); DocumentChangedObservable = Observable.Create <DocumentChangedUnit>(observer => { return (Document.OnPropertyChanged(td => td.Text) .Subscribe(text => observer.OnNext(new DocumentChangedUnit(fileId, Document.Text)))); }); ResultSetExplorer = new ResultSetExplorerViewModel(_fetchMoreCommand, editDocumentCommand, deleteDocumentCommand); }
public DocumentEditorViewModel(Func <ExplicitConnection> connectionProvider, ISnackbarMessageQueue snackbarMessageQueue, IDialogTargetFinder dialogTargetFinder) { if (connectionProvider == null) { throw new ArgumentNullException(nameof(connectionProvider)); } if (snackbarMessageQueue == null) { throw new ArgumentNullException(nameof(snackbarMessageQueue)); } _connectionProvider = connectionProvider; _dialogTargetFinder = dialogTargetFinder; SaveCommand = new Command(_ => Save(snackbarMessageQueue)); NewCommand = new Command(_ => Document.Text = SampleContent); Document = new TextDocument(); }
public ManagementActionsController(IDialogTargetFinder dialogTargetFinder, ISnackbarMessageQueue snackbarMessageQueue, DispatcherTaskSchedulerProvider dispatcherTaskSchedulerProvider) { if (dialogTargetFinder == null) { throw new ArgumentNullException(nameof(dialogTargetFinder)); } if (snackbarMessageQueue == null) { throw new ArgumentNullException(nameof(snackbarMessageQueue)); } if (dispatcherTaskSchedulerProvider == null) { throw new ArgumentNullException(nameof(dispatcherTaskSchedulerProvider)); } _dialogTargetFinder = dialogTargetFinder; _snackbarMessageQueue = snackbarMessageQueue; _dispatcherTaskSchedulerProvider = dispatcherTaskSchedulerProvider; }
public QueryDeveloperViewModel(Guid fileId, ExplicitConnection explicitConnection, IExplicitConnectionCache explicitConnectionCache, IHighlightingDefinition sqlHighlightingDefinition, ISnackbarMessageQueue snackbarMessageQueue, IDialogTargetFinder dialogTargetFinder) { if (explicitConnectionCache == null) { throw new ArgumentNullException(nameof(explicitConnectionCache)); } FileId = fileId; _generalSettings = new GeneralSettings(10); _explicitConnection = explicitConnection; _explicitConnectionCache = explicitConnectionCache; FetchDocumentCommand = new Command(o => QueryRunnerViewModel.Run($"SELECT * FROM root r WHERE r.id = '{DocumentId}'")); EditConnectionCommand = new Command(sender => EditConnectionAsync((DependencyObject)sender)); EditSettingsCommand = new Command(sender => EditSettingsAsync((DependencyObject)sender)); QueryRunnerViewModel = new QueryRunnerViewModel(fileId, sqlHighlightingDefinition, () => _explicitConnection, () => _generalSettings, EditDocumentHandler, snackbarMessageQueue, dialogTargetFinder); DocumentEditorViewModel = new DocumentEditorViewModel(() => _explicitConnection, snackbarMessageQueue, dialogTargetFinder); SetName(); }
public QueryDeveloperViewModel(Guid fileId, IExplicitConnectionCache explicitConnectionCache, IHighlightingDefinition sqlHighlightingDefinition, ISnackbarMessageQueue snackbarMessageQueue, IDialogTargetFinder dialogTargetFinder) : this(fileId, null, explicitConnectionCache, sqlHighlightingDefinition, snackbarMessageQueue, dialogTargetFinder) { }