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; }
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; } }