Exemplo n.º 1
0
        private async void searchButton_Click(object sender, EventArgs e)
        {
            FindObjectQuery query =
                new FindObjectQuery(System.IO.Path.GetDirectoryName(Application.ExecutablePath) + @"\Resources\SQL\FindObject.sql",
                                    fromDate.Text,
                                    toDate.Text,
                                    entityTextBox1.Text,
                                    entityTextBox2.Text,
                                    entityTextBox3.Text);



            var quer = QueryRepo.FindObject;

            quer.Params = new ParamObject(
                $@"'{fromDate.Value:MM/dd/yyyy}'",
                $@"'{toDate.Value:MM/dd/yyyy}'",
                $@"'{entityTextBox1.Text}'",
                string.IsNullOrEmpty(entityTextBox2.Text) ? "" : $@"OR PRIMARY_KEY LIKE '{entityTextBox2.Text}'",
                string.IsNullOrEmpty(entityTextBox3.Text) ? "" : $@"OR PRIMARY_KEY LIKE '{entityTextBox3.Text}'");

            dataGridView1.DataSource = bindingSource1;
            dataGridView1.Hide();
            progressBar1.Visible = true;
            var result = await QueryManager.Query(quer.QueryDynamication());

            bindingSource1.DataSource = result;
            progressBar1.Visible      = false;
            dataGridView1.Show();
        }
Exemplo n.º 2
0
        private void TriggerBgWorkerForQuery(FindObjectQuery query)
        {
            progressBar1.Visible = true;
            BackgroundWorker backgroundWorker = new BackgroundWorker
            {
                WorkerSupportsCancellation = true,
                WorkerReportsProgress      = true
            };

            backgroundWorker.DoWork += (o, args) =>
            {
                FindObjectQuery report = args.Argument as FindObjectQuery;
                try
                {
                    args.Result = report?.DoQuery();
                }
                catch (Exception e)
                {
                    MessageBox.Show(e.Message);
                }
            };
            backgroundWorker.RunWorkerCompleted += (o, args) =>
            {
                DataTable workerResult = (DataTable)args.Result;
                bindingSource1.DataSource = workerResult;
                dataGridView1.DataSource  = bindingSource1;
                progressBar1.Visible      = false;
            };
            backgroundWorker.RunWorkerAsync(query);
        }