Esempio n. 1
0
        /// <summary>
        /// Generate the Excel output version of the report.
        /// </summary>
        /// <param name="request"></param>
        /// <param name="response"></param>
        protected override void GenerateExcelOutput(BaseServiceGenerateReportRequest request, BaseServiceGenerateReportResponse response)
        {
            using (var excelWriter = new ExcelWriter())
            {
                var excelRecords = new List <SecurityUserLoginHistoryReportExcelRecord>();
                var dataSet      = this.GetDataSource("DataSet1") as IEnumerable <USPReportSecurityUserLoginHistory>;

                foreach (var dataRow in dataSet)
                {
                    var excelRecord = new SecurityUserLoginHistoryReportExcelRecord();
                    //Map the stored proc row into the csv record
                    var config = new MapperConfiguration(cfg =>
                    {
                        cfg.CreateMap <USPReportSecurityUserLoginHistory, SecurityUserLoginHistoryReportExcelRecord>();
                    });
                    IMapper mapper = config.CreateMapper();
                    mapper.Map(dataRow, excelRecord);

                    excelRecords.Add(excelRecord);
                }

                var dataTableHelper = new DataTableHelper <SecurityUserLoginHistoryReportExcelRecord>();
                var dataTable       = dataTableHelper.GetTable(excelRecords);

                //
                //Specify the excel formatting
                //
                var headers = new string[]
                {
                    "SecurityUserLoginHistoryId",
                    "SecurityUserId",
                    "UserName",
                    "MachineName",
                    "ApplicationCode",
                    "SuccessfulLogin",
                    "AccountWasLocked",
                    "IPAddress",
                    "Browser",
                    "ScreenResolution",
                    "Message",
                    "SessionId",
                    "SessionEndDate",
                    "LastRequestDate",
                    "SessionTimeoutDate",
                    "LastRequestUrl",
                    "CreateDate",
                    "CreateUser",
                    "ModifyDate",
                    "ModifyUser"
                };

                var format = new string[]
                {
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    "",
                    ""
                };

                var columns = dataTable.Columns.Cast <DataColumn>().Where(c => c.ColumnName.ToLower() != "key").
                              Select(column => column.ColumnName).
                              ToArray();
                excelWriter.AddSection(headers, columns, format, dataTable, 0);

                //
                //Return the Excel data
                //
                response.IsSuccessful = true;
                response.ReportBytes  = excelWriter.SaveFile();
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Generate the CSV output version of the report.
        /// </summary>
        /// <param name="request"></param>
        /// <param name="response"></param>
        protected override void GenerateCSVOutput(BaseServiceGenerateReportRequest request, BaseServiceGenerateReportResponse response)
        {
            //
            //Render the report
            //
            using (var memoryStream = new MemoryStream())
            {
                //Open the write the CSV to a memory stream
                using (var writer = new StreamWriter(memoryStream))
                {
                    var csv = new CsvWriter(writer);

                    var csvRecords = new List <SecurityUserLoginHistoryReportCSVRecord>();
                    var dataSet    = this.GetDataSource("DataSet1") as IEnumerable <USPReportSecurityUserLoginHistory>;

                    foreach (var dataRow in dataSet)
                    {
                        var csvRecord = new SecurityUserLoginHistoryReportCSVRecord();
                        //Map the stored proc row into the csv record
                        var config = new MapperConfiguration(cfg =>
                        {
                            cfg.CreateMap <USPReportSecurityUserLoginHistory, SecurityUserLoginHistoryReportCSVRecord>();
                        });
                        IMapper mapper = config.CreateMapper();
                        mapper.Map(dataRow, csvRecord);

                        csvRecords.Add(csvRecord);
                    }
                    csv.WriteRecords(csvRecords);
                }

                //
                //Return the CSV data
                //
                response.IsSuccessful = true;
                response.ReportBytes  = memoryStream.ToArray();
            }
        }