Example #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;
            }
        }
        public async void LoadItems()
        {
            if (string.IsNullOrWhiteSpace(UrlDynamics) || string.IsNullOrWhiteSpace(AccessToken) || string.IsNullOrWhiteSpace(TokenEnpoint))
            {
                throw new InvalidOperationException("Please update the configuration constants");
            }

            string connstr = $@"Url={UrlDynamics};OAuth Access Token={AccessToken};Use Etag=true;OAuth Client Id={ClientID};OAuth Client Secret={CllentSecret};OAuth Refresh Token={RefreshToken};OAuth Token Endpoint={TokenEnpoint};Max Page Size = {MaxPageSize}";

            string[] fields          = new string[] { "accountid", "name", "emailaddress1" };
            var      d365SConnection = new C1D365SConnection(connstr);
            var      dataCollection  = new C1AdoNetCursorDataCollection(d365SConnection, "Accounts", fields, MaxPageSize);
            //Force collection to load once
            await dataCollection.RefreshAsync();

            C1.WPF.DataCollection.C1CollectionView cv = new C1.WPF.DataCollection.C1CollectionView(dataCollection);
            grid.ItemsSource = cv;
        }
Example #3
0
        private async void btnConnect_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                Mouse.OverrideCursor = System.Windows.Input.Cursors.Wait;
                if (_connectionBase != null && _connectionBase.State != ConnectionState.Closed)
                {
                    _connectionBase.Close();
                }
                var selectedIndex = cboDataSource.SelectedIndex;

                switch (selectedIndex)
                {
                case 0:
                    C1ODataConnection oDataConn = new C1ODataConnection(txtConnString.Text);
                    await oDataConn.OpenAsync();

                    _connectionBase = oDataConn;
                    break;

                case 1:
                    C1D365SConnection d365SalesConn = new C1D365SConnection(txtConnString.Text);
                    await d365SalesConn.OpenAsync();

                    _connectionBase = d365SalesConn;     //Because C1D365SConnection wraps over C1ODataConnection
                    break;
                }

                if (selectedIndex != -1)
                {
                    //Populating TreeView
                    var schemas = _connectionBase.GetSchema().DefaultView;
                    treeView.ItemsSource = schemas;
                }
            }
            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;
            }
        }