コード例 #1
0
        public void Program()
        {
            QuestionManager.Clear();
            LogManager.Init();
            ParameterManager.Init(Folder);
            DCDYTBManager.Init();
            ExcelParameterManager.Clear();
            if (!Init())
            {
                OutputMessage("00", "初始化失败,程序终止", ProgressResultTypeEnum.Fail);
                return;
            }
            OutputMessage("00", "成功初始化", ProgressResultTypeEnum.Pass);
            foreach (var id in _ruleIds)
            {
                var rule = _rules.FirstOrDefault(e => e.ID == id.ToString());
                if (rule != null)
                {
                    var sb     = new StringBuilder(rule.RuleName);
                    var result = ProgressResultTypeEnum.Pass;
                    try
                    {
                        rule.Check();
                    }
                    catch (AggregateException ae)
                    {
                        foreach (var exp in ae.InnerExceptions)
                        {
                            sb.Append(exp.Message + "\r\n");
                        }
                        result = ProgressResultTypeEnum.Fail;
                    }
                    catch (Exception ex)
                    {
                        result = ProgressResultTypeEnum.Fail;
                        sb.Append(ex.ToString());
                    }

                    if (result != ProgressResultTypeEnum.Pass)
                    {
                        QuestionManager.Add(new Question {
                            Code = rule.ID, Name = rule.RuleName, Description = sb.ToString()
                        });
                    }
                    if (OutputMessage(rule.ID, sb.ToString(), result) == true)
                    {
                        break;
                    }
                }
            }
            _reportPath = QuestionManager.Save(ReportPath);
            //PDFHelper.Save(_reportPath, ReportPDFPath);
            //PdfHelper2.SavePdf(_reportPath, ReportPDFPath);
            PdfHelper2.Convert(_reportPath, ReportPDFPath);
        }