private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) { BackgroundWorker worker = sender as BackgroundWorker; StringBuilder sb; int i = 0; int j = 0; object[] columnValues; int currentRowIndex = 0; while (true) { if (worker.CancellationPending == true) { e.Cancel = true; break; } else { // Build JSON document to add rows sb = new StringBuilder("{ \"rows\": ["); for (i = 0; i < nudBatchSize.Value; i++) { columnValues = new object[columnCount]; if (currentRowIndex == rowCount) { currentRowIndex = 0; } ; for (j = 0; j < columnCount; j++) { columnValues[j] = eventsTable.Rows[currentRowIndex][j]; } sb.Append(String.Format(rowTemplate, columnValues)); currentRowIndex++; } sb.Remove(sb.Length - 2, 2).Append("]}"); if (PowerBI.AddTableRows(mainForm.selectedGroup, mainForm.selectedDataset, mainForm.selectedTable, sb.ToString())) { worker.ReportProgress(requestsSent++); } if (nudDelayBetweenRequests.Value > 0) { Thread.Sleep((int)nudDelayBetweenRequests.Value * 1000); } } } resetEvent.Set(); }
private void cmnuGetTiles_Click(object sender, EventArgs e) { this.Cursor = Cursors.WaitCursor; TreeNode nodeTiles = selectedNode; Tile[] result = PowerBI.GetTiles(selectedGroup, selectedDashboard); if (result != null) { nodeTiles.Nodes.Clear(); TreeNode nodeTile; foreach (Tile tile in result) { nodeTile = new TreeNode((string.IsNullOrEmpty(tile.title)) ? "[No title]" : tile.title); nodeTile.ImageIndex = nodeTile.SelectedImageIndex = 7; nodeTile.Tag = tile; nodeTile.ToolTipText = String.Format("TILE\r\nid: {0}\r\ntitle: {1}\r\nsubTitle: {2}\r\nembedUrl: {3}", tile.id, tile.title, tile.subTitle, tile.embedUrl); nodeTile.ContextMenuStrip = cmsTile; nodeTiles.Nodes.Add(nodeTile); } nodeTiles.Expand(); } this.Cursor = Cursors.Default; }
private void cmnuGetDatasets_Click(object sender, EventArgs e) { this.Cursor = Cursors.WaitCursor; TreeNode nodeDatasets = selectedNode; Dataset[] result = PowerBI.GetDatasets(selectedGroup); if (result != null) { nodeDatasets.Nodes.Clear(); TreeNode nodeDataset; TreeNode nodeTables; foreach (Dataset dataset in result) { nodeDataset = new TreeNode(dataset.name); nodeDataset.ImageIndex = nodeDataset.SelectedImageIndex = 2; nodeDataset.Tag = dataset; nodeDataset.ToolTipText = String.Format("DATASET\r\nid: {0}\r\nname: {1}", dataset.id, dataset.name); nodeDatasets.Nodes.Add(nodeDataset); nodeTables = new TreeNode("Tables"); nodeTables.ImageIndex = nodeTables.SelectedImageIndex = 1; nodeTables.ContextMenuStrip = cmsTables; nodeDataset.Nodes.Add(nodeTables); } nodeDatasets.Expand(); } this.Cursor = Cursors.Default; }
private void cmnuGetDashboards_Click(object sender, EventArgs e) { this.Cursor = Cursors.WaitCursor; TreeNode nodeDashboards = selectedNode; Dashboard[] result = PowerBI.GetDashboards(selectedGroup); if (result != null) { nodeDashboards.Nodes.Clear(); TreeNode nodeDashboard; TreeNode nodeTiles; foreach (Dashboard dashboard in result) { nodeDashboard = new TreeNode(dashboard.displayName); nodeDashboard.ImageIndex = nodeDashboard.SelectedImageIndex = 6; nodeDashboard.Tag = dashboard; nodeDashboard.ToolTipText = String.Format("DASHBOARD\r\nid: {0}\r\ndisplayName: {1}\r\nisReadOnly: {2}", dashboard.id, dashboard.displayName, dashboard.isReadOnly); nodeDashboards.Nodes.Add(nodeDashboard); nodeTiles = new TreeNode("Tiles"); nodeTiles.ImageIndex = nodeTiles.SelectedImageIndex = 1; nodeTiles.ContextMenuStrip = cmsTiles; nodeDashboard.Nodes.Add(nodeTiles); } nodeDashboards.Expand(); } this.Cursor = Cursors.Default; }
private void cmnuGetTables_Click(object sender, EventArgs e) { this.Cursor = Cursors.WaitCursor; TreeNode nodeTables = selectedNode; Table[] result = PowerBI.GetTables(selectedGroup, selectedDataset); if (result != null) { nodeTables.Nodes.Clear(); TreeNode nodeTable; foreach (Table table in result) { nodeTable = new TreeNode(table.name); nodeTable.ImageIndex = nodeTable.SelectedImageIndex = 3; nodeTable.Tag = table; nodeTable.ToolTipText = String.Format("TABLE\r\nname: {0}", table.name); nodeTable.ContextMenuStrip = cmsTable; nodeTables.Nodes.Add(nodeTable); } nodeTables.Expand(); } this.Cursor = Cursors.Default; }
private void cmnuClearAllRows_Click(object sender, EventArgs e) { this.Cursor = Cursors.WaitCursor; TreeNode nodeTable = selectedNode; string datasetId = ((Dataset)nodeTable.Parent.Parent.Tag).id; string tableName = nodeTable.Text; PowerBI.ClearTableRows(selectedGroup, selectedDataset, selectedTable); this.Cursor = Cursors.Default; }
private void cmnuDisconnect_Click(object sender, EventArgs e) { PowerBI.Disconnect(); isConnected = false; mnuConnect.Enabled = true; treeView1.Nodes.Clear(); tslConnection.Text = "Not Connected"; tslConnection.ForeColor = Color.Black; }
private void mnuConnect_Click(object sender, EventArgs e) { if ((PowerBI.clientId == String.Empty) || (PowerBI.redirectUri == String.Empty)) { MessageBox.Show("You must use Options to enter the Client ID and Redirect URI.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } this.Cursor = Cursors.WaitCursor; string token = PowerBI.GetAccessToken(); if (token != null) { isConnected = true; mnuConnect.Enabled = false; tslConnection.Text = "Connected"; tslConnection.ForeColor = Color.Green; TreeNode nodePowerBIService = new TreeNode("Power BI Service"); nodePowerBIService.ImageIndex = nodePowerBIService.SelectedImageIndex = 0; nodePowerBIService.ContextMenuStrip = cmsService; treeView1.Nodes.Add(nodePowerBIService); TreeNode nodeUserWorkspace = new TreeNode("User Workspace"); nodeUserWorkspace.ImageIndex = nodeUserWorkspace.SelectedImageIndex = 5; nodePowerBIService.Nodes.Add(nodeUserWorkspace); TreeNode nodeDatasets = new TreeNode("Datasets"); nodeDatasets.ImageIndex = nodeDatasets.SelectedImageIndex = 1; nodeDatasets.ContextMenuStrip = cmsDatasets; nodeUserWorkspace.Nodes.Add(nodeDatasets); TreeNode nodeDashboards = new TreeNode("Dashboards"); nodeDashboards.ImageIndex = nodeDashboards.SelectedImageIndex = 1; nodeDashboards.ContextMenuStrip = cmsDashboards; nodeUserWorkspace.Nodes.Add(nodeDashboards); TreeNode nodeGroups = new TreeNode("App Workspaces"); nodeGroups.ImageIndex = nodeGroups.SelectedImageIndex = 1; nodeGroups.ContextMenuStrip = cmsGroups; nodePowerBIService.Nodes.Add(nodeGroups); nodePowerBIService.Expand(); } Console.WriteLine("> "); this.Cursor = Cursors.Default; }
private void btnOK_Click(object sender, EventArgs e) { if (txtJsonContent.Text.Length == 0) { MessageBox.Show("You must enter the New Table Schema JSON document.", "Validation Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } this.Cursor = Cursors.WaitCursor; if (PowerBI.UpdateTableSchema(mainForm.selectedGroup, mainForm.selectedDataset, mainForm.selectedTable, txtJsonContent.Text)) { btnClose_Click(null, null); } else { MessageBox.Show("Table schema could not be updated.\r\nEnsure that the JSON document is valid.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } this.Cursor = Cursors.Default; }
private void cmnuGetGroups_Click(object sender, EventArgs e) { this.Cursor = Cursors.WaitCursor; TreeNode nodeGroups = selectedNode; Group[] result = PowerBI.GetGroups(); if (result != null) { nodeGroups.Nodes.Clear(); TreeNode nodeGroup; foreach (Group group in result) { nodeGroup = new TreeNode(group.name); nodeGroup.ImageIndex = nodeGroup.SelectedImageIndex = 4; nodeGroup.Tag = group; nodeGroup.ToolTipText = String.Format("APP WORKSPACE\r\nid: {0}\r\nname: {1}", group.id, group.name); nodeGroups.Nodes.Add(nodeGroup); TreeNode nodeDatasets = new TreeNode("Datasets"); nodeDatasets.ImageIndex = nodeDatasets.SelectedImageIndex = 1; nodeDatasets.ContextMenuStrip = cmsDatasets; nodeGroup.Nodes.Add(nodeDatasets); TreeNode nodeDashboards = new TreeNode("Dashboards"); nodeDashboards.ImageIndex = nodeDashboards.SelectedImageIndex = 1; nodeDashboards.ContextMenuStrip = cmsDashboards; nodeGroup.Nodes.Add(nodeDashboards); } nodeGroups.Expand(); } this.Cursor = Cursors.Default; }
private void btnOK_Click(object sender, EventArgs e) { if (txtJsonContent.Text.Length == 0) { MessageBox.Show("You must enter the New Table Rows JSON document.", "Validation Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } this.Cursor = Cursors.WaitCursor; // If created successfully, update the application treeview if (PowerBI.AddTableRows(mainForm.selectedGroup, mainForm.selectedDataset, mainForm.selectedTable, txtJsonContent.Text)) { btnClose_Click(null, null); } else { MessageBox.Show("Table row could not be added. Ensure that the JSON document is valid.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } this.Cursor = Cursors.Default; }
private void btnOK_Click(object sender, EventArgs e) { this.Cursor = Cursors.WaitCursor; // Create the dataset Dataset dataset = PowerBI.CreateDataset(mainForm.selectedGroup, txtJsonContent.Text, cboDefaultRetentionPolicy.Text); // If created successfully, update the application treeview if (dataset != null) { // Add the dataset node to main form treeview control TreeNode nodeDataset = new TreeNode(dataset.name); nodeDataset.ImageIndex = nodeDataset.SelectedImageIndex = 2; nodeDataset.Tag = dataset; nodeDataset.ToolTipText = String.Format("DATASET\r\nid: {0}\r\nname: {1}", dataset.id, dataset.name); nodeDatasets.Nodes.Add(nodeDataset); // Add Tables node TreeNode nodeTables = new TreeNode("Tables"); nodeTables.ImageIndex = nodeTables.SelectedImageIndex = 1; nodeTables.ContextMenuStrip = mainForm.cmsTables; nodeDataset.Nodes.Add(nodeTables); nodeDataset.ExpandAll(); mainForm.treeView1.SelectedNode = nodeDataset; btnClose_Click(null, null); } else { MessageBox.Show("Dataset could not be created.\r\n\r\nEnsure that the JSON document is valid.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } this.Cursor = Cursors.Default; }