예제 #1
0
        private async void btnExecute_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                Mouse.OverrideCursor = System.Windows.Input.Cursors.Wait;
                if (_connectionBase == null || _connectionBase.State != ConnectionState.Open)
                {
                    throw new InvalidOperationException("Please connect to DataSource first");
                }

                var sql = txtSqlString.Text;

                if (string.IsNullOrWhiteSpace(sql))
                {
                    return;
                }

                switch (cboDataSource.SelectedIndex)
                {
                case 0:
                    C1ODataConnection c1ODataConn = _connectionBase as C1ODataConnection;
                    using (C1ODataDataAdapter a = new C1ODataDataAdapter(c1ODataConn, sql))
                    {
                        DataTable t = new DataTable();
                        a.Fill(t);
                        dataGrid.ItemsSource = t.DefaultView;
                        break;
                    }

                case 1:
                    C1D365SConnection c1D365Conn = _connectionBase as C1D365SConnection;
                    using (C1D365SDataAdapter a = new C1D365SDataAdapter(c1D365Conn, sql))
                    {
                        DataTable t = new DataTable();
                        a.Fill(t);
                        dataGrid.ItemsSource = t.DefaultView;
                    }
                    break;
                }
            }
            catch (Exception ex)
            {
                MessageBoxResult result = MessageBox.Show($"Error: {ex.Message}");
            }
            finally
            {
                Mouse.OverrideCursor = System.Windows.Input.Cursors.Arrow;
            }
        }
        private void BtnExecute_Click(object sender, System.EventArgs e)
        {
            try
            {
                this.Cursor = Cursors.WaitCursor;
                if (_connectionBase == null || _connectionBase.State != ConnectionState.Open)
                {
                    throw new InvalidOperationException("Please connect to DataSource first");
                }

                var sql = txtSQL.Text;

                if (string.IsNullOrWhiteSpace(sql))
                {
                    return;
                }

                switch (cboSource.SelectedIndex)
                {
                case 0:
                    C1ODataConnection c1ODataConn = _connectionBase as C1ODataConnection;
                    using (C1ODataDataAdapter a = new C1ODataDataAdapter(c1ODataConn, sql))
                    {
                        DataTable t = new DataTable();
                        a.Fill(t);
                        pivotPage.DataSource = t;

                        if (sql.Equals(DEFAULT_ODATA_SQL_STRING))
                        {
                            var fp = this.pivotPage.FlexPivotEngine;
                            fp.BeginUpdate();
                            fp.RowFields.Clear();
                            fp.ColumnFields.Clear();
                            fp.ValueFields.Clear();


                            fp.RowFields.Add("Country", "City");
                            fp.ColumnFields.Add("ProductName");
                            fp.ValueFields.Add("UnitPrice");
                            fp.EndUpdate();
                        }
                    }
                    break;

                case 1:
                    C1D365SConnection c1D365Conn = _connectionBase as C1D365SConnection;
                    using (C1D365SDataAdapter a = new C1D365SDataAdapter(c1D365Conn, sql))
                    {
                        DataTable t = new DataTable();
                        a.Fill(t);
                        pivotPage.DataSource = t;
                    }
                    break;

                case 2:
                    C1SalesforceConnection c1SalesforceConn = _connectionBase as C1SalesforceConnection;
                    using (C1SalesforceDataAdapter a = new C1SalesforceDataAdapter(c1SalesforceConn, sql))
                    {
                        DataTable t = new DataTable();
                        a.Fill(t);
                        pivotPage.DataSource = t;
                    }
                    break;

                case 3:
                    C1KintoneConnection c1KintonnConn = _connectionBase as C1KintoneConnection;
                    using (C1KintoneDataAdapter a = new C1KintoneDataAdapter(c1KintonnConn, sql))
                    {
                        DataTable t = new DataTable();
                        a.Fill(t);
                        pivotPage.DataSource = t;
                    }
                    break;

                case 4:
                    C1QuickBooksOnlineConnection c1QboConn = _connectionBase as C1QuickBooksOnlineConnection;
                    using (C1QuickBooksOnlineDataAdapter a = new C1QuickBooksOnlineDataAdapter(c1QboConn, sql))
                    {
                        DataTable t = new DataTable();
                        a.Fill(t);
                        pivotPage.DataSource = t;
                    }
                    break;

                case 5:
                    C1GoogleAnalyticsConnection c1GaConn = _connectionBase as C1GoogleAnalyticsConnection;
                    using (C1GoogleAnalyticsDataAdapter a = new C1GoogleAnalyticsDataAdapter(c1GaConn, sql))
                    {
                        DataTable t = new DataTable();
                        a.Fill(t);
                        pivotPage.DataSource = t;
                    }
                    break;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show($"Error: {ex.Message}");
            }
            finally
            {
                this.Cursor = Cursors.Default;
            }
        }