private void GetJobs() { if (tbAccountName.Text != "" && tbUsername.Text != "" && tbPassword.Text != "") { tsMessage.Text = "Retrieving Job Status..."; Refresh(); hptJob.AccountName = tbAccountName.Text; hptJob.Username = tbUsername.Text; hptJob.Password = tbPassword.Text; //hptJob.Create(null); var JobResults = hptJob.GetJobs(); if (!hptJob.ErrorState) { dtJobs.Rows.Clear(); dgvHPTJobs.DataSource = null; dgvHPTJobs.Columns.Clear(); dgvHPTJobs.AutoGenerateColumns = true; foreach (var jobInfo in JobResults) { var Action = ""; // for open or running - no action. if (jobInfo.status == "delivered") { Action = "Download"; } else if (jobInfo.status == "quoted") { Action = "Accept/Reject"; } if (jobInfo.status == "quoted") { dtJobs.Rows.Add( Action, jobInfo.title, jobInfo.quote.estimatedActivityCount, jobInfo.quote.estimatedDurationHours, jobInfo.quote.estimatedFileSizeMb, jobInfo.status, jobInfo.statusMessage, jobInfo.fileCount, jobInfo.expiresAt, jobInfo.percentComplete, jobInfo.uuid ); } else if (jobInfo.status == "delivered") { dtJobs.Rows.Add( Action, jobInfo.title, jobInfo.results.activityCount, null, jobInfo.results.fileSizeMb, jobInfo.status, jobInfo.statusMessage, jobInfo.results.fileCount, jobInfo.expiresAt, jobInfo.percentComplete, jobInfo.uuid ); } else if (jobInfo.status == "rejected") { dtJobs.Rows.Add( Action, jobInfo.title, null, null, null, jobInfo.status, jobInfo.statusMessage, null, jobInfo.expiresAt, null, jobInfo.uuid ); } else { dtJobs.Rows.Add( Action, jobInfo.title, null, null, null, jobInfo.status, jobInfo.statusMessage, jobInfo.fileCount, jobInfo.expiresAt, jobInfo.percentComplete, jobInfo.uuid ); } } dgvHPTJobs.DataSource = dtJobs; // format grid columns foreach (DataGridViewColumn column in dgvHPTJobs.Columns) { column.HeaderText = dtJobs.Columns[column.DataPropertyName].Caption; // format the "Estimated" columns as numbers if (column.HeaderText.StartsWith("Job") || column.HeaderText.StartsWith("#") || column.HeaderText.StartsWith("%")) { column.DefaultCellStyle.Format = "N0"; // numeric, commas column.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; } } dgvHPTJobs.Columns.RemoveAt(0); // Remove text column... dgvHPTJobs.AutoGenerateColumns = false; var dgvLink = new DataGridViewLinkColumn(); dgvLink.DataPropertyName = "Action"; dgvLink.UseColumnTextForLinkValue = true; dgvLink.UseColumnTextForLinkValue = false; // dgvLink.Form dgvHPTJobs.Columns.Insert(0, dgvLink); dgvHPTJobs.Columns[0].Width = 100; dgvHPTJobs.Columns[0].HeaderText = "Action"; dgvHPTJobs.Columns[0].MinimumWidth = 100; // dgvHPTJobs.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; dgvHPTJobs.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; tsMessage.Text = "Job Status retrieved"; } else { tsMessage.Text = hptJob.ErrorMessage; } } }