Esempio n. 1
0
        public override void ExecuteResult(ControllerContext context)
        {
            string defaultExtension = Config.Report.Writers.GetWriterConfigurationByFormat(Config.Report.DefaultWriter).FileExtension;

            var response = context.HttpContext.Response;

            if (_writer == null)
            {
                var writerConfig = GetWriterFromExtension(context, defaultExtension);
                response.ContentType = writerConfig.ContentType;
                _writer = writerConfig.LoadWriter();
            }
            else
            {
                response.ContentType = _contentType;
            }

            if (!string.IsNullOrEmpty(FileName))
            {
                var extension = GetDownloadFileExtension(context.HttpContext.Request, defaultExtension);
                context.HttpContext.Response.AddHeader("content-disposition", string.Format("attachment; filename={0}{1}", FileName, extension));
            }


            _writer.WriteReport(_report, response.OutputStream);
        }
Esempio n. 2
0
        private void Export(TraceContext context, DataSet ds, IReportWriter writer, string filepath)
        {
            var report = new Report(ds.Tables[0].ToReportSource());


            // Customize the Text Fields
            report.TextFields.Title              = "SqlAuditor - Events Log";
            report.TextFields.Footer             = "Powered by SqlAuditor.\n" + @"http://github.com/iraklisk/SqlAuditor";
            report.TextFields.Header             = String.Format("Instance: {0}\nFrom: {1}\nTo: {2}\nReport Generated: {3}", context.Trace.Instance.DataSource, dtFrom.Value.ToShortDateString(), dtTo.Value.ToShortDateString(), DateTime.Now);
            report.RenderHints.Orientation       = ReportOrientation.Landscape;
            report.RenderHints.BooleanCheckboxes = true;
            using (var stream = new FileStream(filepath, FileMode.Create))
            {
                writer.WriteReport(report, stream);
            }
        }
Esempio n. 3
0
 protected override void Act(VerificationResult verificationResult)
 {
     try
     {
         if (verificationResult == null)
         {
             throw new ArgumentNullException(nameof(verificationResult));
         }
         _reportWriter.WriteReport(verificationResult);
     }
     catch (Exception exception)
     {
         _log.Error(
             $"One or more errors occurred while saving to database: {JsonConvert.SerializeObject(verificationResult)}.",
             exception
             );
     }
 }
        public virtual void ProcessRequest(HttpContext context)
        {
            Context = context;
            string format = GetReportType(context);

            elementConfig = Config.Report.Writers[format];

            context.Response.ContentType = elementConfig.ContentType;

            if (OfferDownload)
            {
                context.Response.AddHeader("content-disposition", string.Format("attachment; filename={0}{1}", FileName, elementConfig.FileExtension));
            }

            Report report = new Report();

            report.Source = ReportSource;

            CustomizeReport(report);

            IReportWriter writer = elementConfig.LoadWriter();

            writer.WriteReport(report, context.Response.OutputStream);
        }
Esempio n. 5
0
        /// <summary>
        /// Collect personnel file data and feed them to the ReportWriter.
        /// For PERSREP (settings.reportType == PERSREP), the filter is a name of a company.
        /// For ATTENDANCE, the filter is the name of a platoon.
        /// Respectively, only members of the company / platoon are included.
        /// </summary>
        /// <seealso cref="IReportWriter"/>
        /// <seealso cref="PersrepReportWriter"/>
        /// <seealso cref="AttendanceReportWriter"/>
        private bool GenerateReport()
        {
            Debug.Assert(conn != null, "Database connection was null in GenerateReport()");
            Debug.Assert(personnelReader != null, "personnel reader not initialized in generateReport()");

            reportReady   = false;
            reportLoading = true;
            UpdateValidity();


            if (timeFilterEnabledCheckbox.Checked)
            {
                settings.startOfReport = dataSelectionStartDate.Value;
                settings.endOfReport   = dataSelectionEndDate.Value;
            }
            else
            {
                settings.startOfReport = DateTime.MinValue;
                settings.endOfReport   = DateTime.MaxValue;
            }

            if (reportWriter != null)
            {
                reportWriter.CloseExcel();
                reportWriter = null;
            }

            DestroyAllExcel();

            if (!File.Exists(settings.reportTemplate))
            {
                progressStatusLabel.Text = "Raporti põhi on puudu.";
                Debug.Print("Report template missing. {0}", settings.reportTemplate);
                reportReady   = false;
                reportLoading = false;
                UpdateValidity();
                return(false);
            }

            // Support J1 and J2 filters
            JFilter j1 = new JFilter();

            j1.enabled = false;

            if (j1FilterEnabled.Checked)
            {
                int x;
                j1.enabled = true;
                if (j1Filter.Text != J_EMPTY_VALUE)
                {
                    if (int.TryParse(j1Filter.Text, out x))
                    {
                        j1.desiredValue = x;
                    }
                    else
                    {
                        MessageBox.Show("J1 parameetris on viga. Ei saanud teisendada numbriks. Jätan arvestamata.", "Viga raporti genereerimisel");
                    }
                }
                else
                {
                    j1.desiredValue = null;
                    Debug.Print("J1 must be empty");
                }
            }

            JFilter j2 = new JFilter();

            j2.enabled = false;
            if (j2FilterEnabled.Checked)
            {
                j2.enabled = true;
                int x;
                if (j2Filter.Text != J_EMPTY_VALUE)
                {
                    if (int.TryParse(j2Filter.Text, out x))
                    {
                        j2.desiredValue = x;
                    }
                    else
                    {
                        MessageBox.Show("J2 parameetris on viga. Ei saanud teisendada numbriks. Jätan arvestamata.", "Viga raporti genereerimisel");
                    }
                }
                else
                {
                    Debug.Print("J2 must be empty");
                    j2.desiredValue = null;
                }
            }

            // Support Company filter
            if (companyFilterEnabled.Enabled && companyFilterEnabled.Checked && settings.companyFilter == null)
            {
                settings.companyFilter = companyFilter.Text;
            }

            // Support Platoon filter

            bool success = false;

            if (settings.reportType == ReportType.PERSREP)
            {
                progressStatusLabel.Text = "Koostan PERSREPi...";
                reportWriter             = new PersrepReportWriter(settings.reportTemplate);
                success = reportWriter.WriteReport(cardLogReader.ReadPersrepData(settings.startOfReport, settings.endOfReport, j1, j2, settings.companyFilter));
                if (success)
                {
                    progressStatusLabel.Text = "PERSREP koostatud!";
                }
            }
            else if (settings.reportType == ReportType.ATTENDANCE)
            {
                progressStatusLabel.Text = "Koostan kohalolekukontrolli...";
                reportWriter             = new AttendanceReportWriter(settings.reportTemplate);
                success = reportWriter.WriteReport(cardLogReader.ReadAttendanceData(settings.startOfReport, settings.endOfReport, j1, j2, settings.companyFilter, settings.platoonFilter));
                if (success)
                {
                    progressStatusLabel.Text = "Kohalolekukontroll koostatud!";
                }
            }

            // Collect unknown people if no other filters than time are enabled
            if (settings.companyFilter == null && settings.platoonFilter == null && !j2.enabled && !j1.enabled)
            {
                progressStatusLabel.Text = "Leian tundmatud inimesed...";
                var unknowns = cardLogReader.ReadUnknownPeople(settings.startOfReport, settings.endOfReport);
                reportWriter.HandleUnknownPeople(unknowns);
                progressStatusLabel.Text = "Tundmatud leitud!";
            }

            reportReady            = true;
            reportLoading          = false;
            settings.companyFilter = settings.platoonFilter = null;
            UpdateValidity();

            progressStatusLabel.Text = "Raport on valmis salvestamiseks.";

            return(success);
        }
Esempio n. 6
0
        private static void CheckConfiguration(string file, IReportWriter reportWriter)
        {
            if (!File.Exists(file))
            {
                WriteLine("Could not find file {0}", file);
                Environment.ExitCode = int.MaxValue;
                return;
            }

            ConfigurationTestSuite info;

            try
            {
                var xml = File.ReadAllText(file, Encoding.Unicode);
                info = xml.ToObject <ConfigurationTestSuite>();
            }
            catch (InvalidOperationException ex)
            {
                DisplayError("Unable to read file, check that the file is in Unicode.");
                DisplayError(ex.ToString());
                return;
            }

            if (info == null)
            {
                DisplayError(String.Format("Could not convert {0} to ConfigurationTestSuite object.", file));
                return;
            }

            WriteLine("Running Tests: " + DateTime.Now.ToString("G", CultureInfo.CurrentCulture));
            WriteLine();

            _reportEntries.Clear();
            var successfulTests = info.Tests.Select(RunTest).Count(result => result);

            var reportPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"\TestReport";

            if (!Directory.Exists(reportPath))
            {
                Directory.CreateDirectory(reportPath);
            }

            var path = Path.Combine(reportPath, ReportHelper.GetReportFileName(reportWriter.Extension));

            reportWriter.WriteReport(path, _reportEntries.ToList());


            WriteLine();
            WriteLine("Completed Tests: " + DateTime.Now.ToString("G", CultureInfo.CurrentCulture));
            var totalTests = info.Tests.Count();

            var totalTestsString = totalTests.ToString(StandardNumberFormat);
            var totalWidth       = totalTestsString.Length;
            var failedTests      = totalTests - successfulTests;

            WriteLine("Tests Run:    {0}", totalTestsString);
            WriteLine("Tests Passed: {0}", successfulTests.ToString(StandardNumberFormat).PadLeft(totalWidth));
            WriteLine("Tests Failed: {0}", failedTests.ToString(StandardNumberFormat).PadLeft(totalWidth));

            if (failedTests > 0)
            {
                DisplayError("SMOKE TEST FAILED!");
            }
            else
            {
                SmokeTestsPassed = true;
                DisplaySuccess("Smoke test passed successfully");
            }

            if (failedTests > 0)
            {
                Environment.ExitCode = 1;
            }
            else
            {
                Environment.ExitCode = 0;
            }
        }