Пример #1
0
        public static PingCastleReportCollection <T> LoadXmls(string Xmls, DateTime maxfiltervalue)
        {
            var output = new PingCastleReportCollection <T>();
            int files  = 0;

            foreach (string filename in Directory.GetFiles(Xmls, PingCastleFactory.GetFilePatternForLoad <T>(), SearchOption.AllDirectories))
            {
                try
                {
                    files++;
                    T data = DataHelper <T> .LoadXml(filename);

                    // taking the more recent report
                    if (data.GenerationDate > maxfiltervalue)
                    {
                        Trace.WriteLine("File " + filename + " ignored because generation date " + data.GenerationDate.ToString("u") + " is after the consolidation date " + maxfiltervalue.ToString("u"));
                        continue;
                    }
                    output.Add(data);
                }
                catch (Exception ex)
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("Unable to load the file " + filename + " (" + ex.Message + ")");
                    Console.ResetColor();
                    Trace.WriteLine("Unable to load the file " + filename + " (" + ex.Message + ")");
                    Trace.WriteLine(ex.StackTrace);
                }
            }
            Console.WriteLine("Reports loaded: " + output.Count + " - on a total of " + files + " valid files");
            output.EnrichInformation();
            return(output);
        }
Пример #2
0
        private BotInputOutput ToHtml(BotInputOutput input)
        {
            try
            {
                var xml = GetItem(input, "Report");
                using (var ms = new MemoryStream(UnicodeEncoding.UTF8.GetBytes(xml)))
                {
                    HealthcheckData healthcheckData = DataHelper <HealthcheckData> .LoadXml(ms, "bot", null);

                    var endUserReportGenerator = PingCastleFactory.GetEndUserReportGenerator <HealthcheckData>();
                    var license = LicenseManager.Validate(typeof(Program), new Program()) as ADHealthCheckingLicense;
                    var report  = endUserReportGenerator.GenerateReportFile(healthcheckData, license, healthcheckData.GetHumanReadableFileName());

                    var o = new BotInputOutput();
                    o.Data = new List <BotData>();
                    AddData(o, "Status", "OK");
                    AddData(o, "Report", report);
                    return(o);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Exception:" + ex.Message);
                Console.WriteLine("StackTrace:" + ex.StackTrace);
                return(ExceptionOutput("Exception during the job " + ex.Message, ex.StackTrace));
            }
        }