Ejemplo n.º 1
0
        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);
                }
            });
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
                }
            });
Ejemplo n.º 4
0
 internal void LoadSolutions(Settings settings)
 {
     cbSolution.DataSource = null;
     if (pac.Service == null)
     {
         return;
     }
     cbSolution.OrganizationService = pac.Service;
     pac.WorkAsync(new WorkAsyncInfo
     {
         Message = "Loading solutions",
         Work    = (worker, args) =>
         {
             var qx = new QueryExpression("solution");
             qx.ColumnSet.AddColumns("friendlyname", "solutionid", "uniquename", "version");
             qx.AddOrder("friendlyname", OrderType.Ascending);
             qx.Criteria.AddCondition("ismanaged", ConditionOperator.Equal, false);
             qx.Criteria.AddCondition("isvisible", ConditionOperator.Equal, true);
             qx.Criteria.AddCondition("uniquename", ConditionOperator.NotEqual, "Default");
             args.Result = pac.Service.RetrieveMultiple(qx);
         },
         PostWorkCallBack = (args) =>
         {
             if (args.Error != null)
             {
                 pac.ShowError(args.Error);
             }
             else if (args.Result is EntityCollection solutions)
             {
                 cbSolution.DataSource = solutions;
             }
             if (settings != null)
             {
                 SettingsApplyToUI(settings);
             }
             CheckInputs();
         }
     });