internal void LoadRuleSets() { pac.Enable(false); var enabled = true; pac.WorkAsync(new WorkAsyncInfo() { Message = "Loading rulesets", Work = (worker, args) => { args.Result = PACHelper.GetRuleSets(serviceUrl); }, PostWorkCallBack = (args) => { if (args.Error != null) { pac.ShowError(args.Error); } else if (args.Result is RuleSet[] rulesetlist) { AddRuleSets(rulesetlist); LoadRules(); enabled = false; } pac.Enable(enabled); } });
private void CheckAnalysisStatus() { tmStatus.Enabled = false; pac.Enable(false); var enabled = true; pac.WorkAsync(new WorkAsyncInfo { Message = "Checking analysis status", AsyncArgument = new { clientinfo = pac.PACClientInfo, url = txtStatusUrl.Text }, Work = (worker, args) => { var a = args.Argument as dynamic; var clientinfo = a.clientinfo as PACClientInfo; var url = a.url as string; args.Result = PACHelper.GetAnalysisStatus(clientinfo, url); }, PostWorkCallBack = (args) => { if (args.Error != null) { panAnalyzing.Visible = false; pac.ShowError(args.Error); } else if (args.Result is AnalysisStatus status) { txtRunCorrId.Text = status.RunCorrelationId.ToString(); SetStatus(status.Status, status.Progress); if (status.Progress >= 100) { panAnalyzing.Visible = false; SetCounts(status); if (status.ResultFileUris != null && status.ResultFileUris.Length > 0) { txtResultFile.Text = status.ResultFileUris[0]; GetResultFile(status); enabled = false; } } else { tmStatus.Start(); } } pac.Enable(enabled); } });
private PACClientInfo ConnectPAChecker() { var clientinfo = new PACClientInfo { ServiceUrl = GetServiceUrl(), Language = GetLanguage() }; if (!Guid.TryParse(txtClientId.Text, out clientinfo.ClientId)) { pac.ShowError("Bad Client Guid"); return(null); } if (cbRegion.SelectedItem == null) { pac.ShowError("Select Region"); return(null); } try { if (rbSecret.Checked) { if (!Guid.TryParse(txtTenantId.Text, out clientinfo.TenantId)) { pac.ShowError("Bad Tenant Guid"); return(null); } clientinfo.ClientSec = txtClientSec.Text; } if (PACHelper.GetClient(clientinfo, PromptBehavior.SelectAccount) != null) { pac.ai.WriteEvent($"Connect OK {cbRegion.Text}"); } } catch (Exception ex) { pac.ShowError(ex, "Connect"); return(null); } return(clientinfo); }
private void btnOpenSarif_Click(object sender, EventArgs e) { using (var od = new OpenFileDialog { CheckPathExists = true, InitialDirectory = !string.IsNullOrWhiteSpace(txtResultFile.Text) ? Path.GetDirectoryName(txtResultFile.Text) : "", DefaultExt = "sarif", Filter = "SARIF files|*.sarif|All files|*.*", Title = "Open SARIF result file" }) { if (od.ShowDialog() == DialogResult.OK) { pac.ai.WriteEvent("OpenSarifFile"); Reset(); txtResultFile.Text = od.FileName; var sarif = File.ReadAllText(od.FileName); txtSarif.Text = sarif; ParseSarifLog(PACHelper.GetSarifFromString(sarif)); } } }