コード例 #1
0
        public override DataSourceString Execute(DatabaseUri databaseUri, BuildSourceField field, DataSourceString dataSource)
        {
            Assert.ArgumentNotNull(databaseUri, nameof(databaseUri));
            Assert.ArgumentNotNull(field, nameof(field));
            Assert.ArgumentNotNull(dataSource, nameof(dataSource));

            var query = dataSource.Path;

            if (query.StartsWith(@"query:", StringComparison.InvariantCultureIgnoreCase))
            {
                query = query.Mid(6);
            }

            var dialog = new BuildQueryDialog(query, CustomValidationType.Query);

            dialog.Title = "Build Query";
            if (AppHost.Shell.ShowDialog(dialog) != true)
            {
                return(null);
            }

            dataSource.Path = @"query:" + dialog.Text;
            dataSource.Parameters.Clear();

            return(dataSource);
        }
コード例 #2
0
        private void BuildQuery([NotNull] object sender, [NotNull] RoutedEventArgs e)
        {
            Debug.ArgumentNotNull(sender, nameof(sender));
            Debug.ArgumentNotNull(e, nameof(e));

            var query = Editor.Text;
            var type  = GetCustomValidationType();

            var dialog = new BuildQueryDialog(query, type);

            if (AppHost.Shell.ShowDialog(dialog) == true)
            {
                Editor.Text = dialog.Text;
            }
        }