protected virtual void PrintReportFooter(PdfPTable table) { string value = String.Format(_totalLabel); PdfPCell cell = new PdfPCell(new Phrase(value, _reportFont)); cell.HorizontalAlignment = Element.ALIGN_LEFT; cell.Border = Rectangle.TOP_BORDER; cell.PaddingTop = 10f; cell.NoWrap = true; table.AddCell(cell); for (int i = 1; i < headers.Count; i++) { heading h = headers[i]; value = String.Empty; if (h.showTotal) { value = String.Format(h.format, h.total); } cell = new PdfPCell(new Phrase(value, _reportFont)); cell.HorizontalAlignment = h.field_align; cell.Border = Rectangle.TOP_BORDER; cell.PaddingTop = 10f; table.AddCell(cell); } }
/// <summary> /// set Heading level /// </summary> /// <param name="value"></param> public void setHeadingLevel(heading value) { if (value >= heading.H1 && value <= heading.H6) { _heading = value; } }
public MissingItemsReport(string title) : base(title, "", "", Common.Libraries.Utility.Shared.PdfLauncher.Instance) { base.reportType = "Audit"; base.showReportDate = false; base.showGroupCount = true; this.GroupByFooterTitle = "Total Missing Items:"; heading aHeading = new heading() { align = Element.ALIGN_LEFT, width = 55f, format = "{0}", showTotal = false, field_align = -1, header_align = -1, formatICN = false, Translator = null }; aHeading.text = "Audit Indicator"; aHeading.fieldName = "TRAK_NEW_FLAG"; aHeading.Translator = returnDefault; aHeading.groupBy = true; headers.Add(aHeading); aHeading.text = "ICN"; aHeading.fieldName = "ICN"; aHeading.align = Element.ALIGN_CENTER; aHeading.width = 85f; aHeading.groupBy = false; aHeading.Translator = ICNSpacing; //aHeading.formatICN = true; // this looks nice w/ bolded numbers and spaces, but it boggs down the report tremendously headers.Add(aHeading); aHeading.text = "Status"; aHeading.fieldName = "STATUS_CD"; aHeading.width = 40f; aHeading.formatICN = false; aHeading.Translator = null; headers.Add(aHeading); aHeading.text = "Cost"; aHeading.fieldName = "PFI_AMOUNT"; aHeading.format = "{0:n}"; aHeading.field_align = Element.ALIGN_RIGHT; aHeading.width = 40f; aHeading.showTotal = true; headers.Add(aHeading); aHeading.text = "Merchandise Description"; aHeading.fieldName = "MD_DESC"; aHeading.format = "{0}"; aHeading.header_align = Element.ALIGN_CENTER; aHeading.field_align = Element.ALIGN_LEFT; aHeading.showTotal = false; aHeading.width = 200f; headers.Add(aHeading); }
public CashTransferListingReport(IPdfLauncher pdfLauncher) : base("Cash Transfer Listing", " ", " ", pdfLauncher) { reportPageSize = PageSize.LETTER.Rotate(); showReportDate = false; heading aHeading = new heading() { align = Element.ALIGN_LEFT, width = 50f, format = "{0}", showTotal = false, field_align = -1, header_align = -1, Translator = null }; aHeading.text = "Transfer #"; aHeading.fieldName = "TRANSFERNUMBER"; headers.Add(aHeading); aHeading.width = 100f; aHeading.text = "Transfer Type"; aHeading.fieldName = "TRANSFERTYPE"; headers.Add(aHeading); aHeading.text = "Transfer Date / Time"; aHeading.fieldName = "TRANSFERDATE"; headers.Add(aHeading); aHeading.width = 60f; aHeading.text = "Transfer Amount"; aHeading.fieldName = "TRANSFERAMOUNT"; aHeading.format = "{0:C}"; aHeading.align = Element.ALIGN_RIGHT; headers.Add(aHeading); aHeading.align = Element.ALIGN_CENTER; aHeading.format = "{0}"; aHeading.width = 100f; aHeading.text = "Source"; aHeading.fieldName = "SOURCE"; headers.Add(aHeading); aHeading.text = "Destination"; aHeading.fieldName = "DESTINATION"; headers.Add(aHeading); aHeading.width = 75f; aHeading.text = "Status"; aHeading.fieldName = "TRANSFERSTATUS"; headers.Add(aHeading); aHeading.align = Element.ALIGN_LEFT; aHeading.text = "User Id"; aHeading.fieldName = "USERID"; headers.Add(aHeading); }
protected virtual void printGroupFooter(PdfPTable table, string lastGroup, int group_count) { string groupFooter; if (showGroupCount) { groupFooter = String.Format(GroupByFooterTitle + "\t{1}", lastGroup, group_count); } else { groupFooter = String.Format(GroupByFooterTitle, lastGroup); } PdfPCell cell = new PdfPCell(new Phrase(groupFooter, _reportFont)); cell.Border = Rectangle.TOP_BORDER; cell.Colspan = 1;// table.NumberOfColumns - nrTotalFields; cell.NoWrap = true; cell.PaddingBottom = 13f; table.AddCell(cell); for (int i = 1; i < headers.Count; i++) { heading h = headers[i]; string value = String.Empty; if (h.showTotal) { value = String.Format(h.format, h.groupTotal); h.groupTotal = 0; headers[i] = h; cell = new PdfPCell(new Phrase(value, _reportFont)); cell.HorizontalAlignment = h.field_align; cell.Border = Rectangle.TOP_BORDER; cell.PaddingBottom = 13f; table.AddCell(cell); } else { cell = new PdfPCell(new Phrase("", _reportFont)); cell.HorizontalAlignment = h.field_align; cell.Border = Rectangle.TOP_BORDER; cell.PaddingBottom = 13f; table.AddCell(cell); } } }
/// <summary> /// ctor /// </summary> /// <param name="txt"></param> /// <param name="head"></param> public CHTMLHeading(string txt, heading head) { if (txt != null) { _text = txt; } if (head >= heading.H1 && head <= heading.H6) { _heading = head; } }
public JewelryCountDetailReport(IPdfLauncher pdfLauncher) : base("Jewelry Count Worksheet", "", "", pdfLauncher) { showReportDate = false; GroupByFooterTitle = "Total Count for Case {0}:"; heading aHeading = new heading() { align = Element.ALIGN_CENTER, width = 45f, format = "{0}", showTotal = false, field_align = -1, header_align = -1, Translator = null }; aHeading.text = "Jewelry Case"; aHeading.fieldName = "JCASE"; aHeading.groupBy = true; headers.Add(aHeading); aHeading.text = "Transaction\nTime"; aHeading.fieldName = "TRANS_TIME"; aHeading.groupBy = false; headers.Add(aHeading); aHeading.text = "Employee #"; aHeading.fieldName = "CREATEDBY"; headers.Add(aHeading); aHeading.text = "Transaction\nStatus"; aHeading.fieldName = "STATUS_CD"; headers.Add(aHeading); aHeading.text = "Transaction\nNumber"; aHeading.fieldName = "DISP_DOC"; headers.Add(aHeading); aHeading.text = "Short\nCode"; aHeading.fieldName = "SHORT_CODE"; headers.Add(aHeading); aHeading.text = "Merchandise Description"; aHeading.fieldName = "MD_DESC"; aHeading.field_align = Element.ALIGN_LEFT; aHeading.header_align = Element.ALIGN_CENTER; aHeading.width = 200f; headers.Add(aHeading); }
public DailySalesReport_Summary(IPdfLauncher pdfLauncher) : base("Daily Sales Employee Summary", "", "Totals:", pdfLauncher) { // TODO: add sales header for criteria, and gross profit to totals; total format?? // showReportDate = false; reportPageSize = PageSize.LETTER; GroupByFooterTitle = "Total for User ID: {0}"; showGroupCount = false; heading aHeading = new heading() { align = Element.ALIGN_LEFT, width = 70f, format = "{0}", showTotal = false, field_align = Element.ALIGN_RIGHT, header_align = Element.ALIGN_RIGHT, Translator = null }; aHeading.text = "User ID"; aHeading.fieldName = "USERID"; headers.Add(aHeading); aHeading.text = "Total Cost"; aHeading.fieldName = "TOTAL_COST"; aHeading.showTotal = true; aHeading.format = "{0:F2}"; headers.Add(aHeading); aHeading.text = "Total Retail"; aHeading.fieldName = "TOTAL_RETAIL"; headers.Add(aHeading); aHeading.text = "Gross Profit"; aHeading.fieldName = "GROSS_PROFIT"; aHeading.format = "{0:p0}"; headers.Add(aHeading); aHeading.text = " R/S % Variance"; aHeading.fieldName = "AVG_VARNC_PCT"; aHeading.format = "{0:F0} %"; headers.Add(aHeading); }
public JewelryCountSummaryReport(IPdfLauncher pdfLauncher) : base("Jewelry Count Summary", "", "Transaction Total:", pdfLauncher) { showReportDate = false; heading aHeading = new heading() { align = Element.ALIGN_CENTER, width = 70f, format = "{0}", showTotal = false, field_align = -1, header_align = -1, Translator = null }; aHeading.text = "Jewelry Case"; aHeading.fieldName = "JCASE"; headers.Add(aHeading); aHeading.text = "Sales"; aHeading.fieldName = "SALES"; aHeading.showTotal = true; headers.Add(aHeading); aHeading.text = "Layaways"; aHeading.fieldName = "LAYAWAYS"; headers.Add(aHeading); aHeading.text = "Transfer Out/OS"; aHeading.fieldName = "TRANSFERSOUT"; headers.Add(aHeading); aHeading.text = "Returns"; aHeading.fieldName = "RETURNS"; headers.Add(aHeading); aHeading.text = "Police Seize"; aHeading.fieldName = "SEIZES"; headers.Add(aHeading); aHeading.text = "Case Total"; aHeading.fieldName = "TOTAL"; headers.Add(aHeading); }
public PreAuditReport(string title) : base(title, "", "Total Inventory Counted", Common.Libraries.Utility.Shared.PdfLauncher.Instance) { base.reportType = "Audit"; base.showReportDate = false; heading aHeading = new heading() { align = Element.ALIGN_LEFT, width = 70f, format = "{0}", showTotal = false, field_align = -1, header_align = -1, Translator = null }; aHeading.text = "Category #"; aHeading.fieldName = "CAT_CODE"; headers.Add(aHeading); aHeading.text = "Category Name"; aHeading.fieldName = "CAT_DESC"; aHeading.width = 250f; headers.Add(aHeading); aHeading.text = "Qty"; aHeading.fieldName = "QTY"; aHeading.width = 30f; aHeading.format = "{0:g}"; aHeading.showTotal = true; aHeading.field_align = Element.ALIGN_RIGHT; aHeading.header_align = Element.ALIGN_CENTER; headers.Add(aHeading); aHeading.text = "Cost"; aHeading.width = 70f; aHeading.format = "{0:n}"; aHeading.fieldName = "COST"; headers.Add(aHeading); }
public CACCSalesReport(IPdfLauncher pdfLauncher) : base("CACC Sales Analysis", "NOTE: The figures for SALES only includes actual sales. It does not include reductions of inventory for Transfers-Out, Police Seizures, etc..", "", pdfLauncher) { showReportDate = false; heading aHeading = new heading() { align = Element.ALIGN_LEFT, width = 114f, format = "{0}", showTotal = false, field_align = -1, header_align = -1, Translator = null }; aHeading.text = "CACC Type"; aHeading.fieldName = "CAT_DESC"; headers.Add(aHeading); aHeading.text = "Beginning\nInventory"; aHeading.fieldName = "START_INVENTORY"; aHeading.width = 38f; aHeading.align = Element.ALIGN_CENTER; headers.Add(aHeading); aHeading.text = "Quantity\nSold"; aHeading.fieldName = "NR_SOLD"; aHeading.width = 32f; headers.Add(aHeading); aHeading.text = "Average\nCost"; aHeading.fieldName = "AVG_COST"; aHeading.align = Element.ALIGN_RIGHT; aHeading.format = "{0:0.00}"; headers.Add(aHeading); aHeading.text = "Average\nRetail"; aHeading.fieldName = "AVG_RETAIL"; headers.Add(aHeading); aHeading.text = "Gross\nProfit %"; aHeading.fieldName = "GROSS_PROFIT"; aHeading.align = Element.ALIGN_CENTER; aHeading.format = "{0:0.0}"; headers.Add(aHeading); aHeading.text = "Quantity\nAdded"; aHeading.fieldName = "QTY_ADDED"; aHeading.format = "{0}"; aHeading.width = 34f; headers.Add(aHeading); aHeading.text = "Charge\nOff"; aHeading.fieldName = "CHARGE_OFF"; aHeading.width = 32f; headers.Add(aHeading); aHeading.text = "Charge\nOn"; aHeading.fieldName = "CHARGE_ON"; aHeading.width = 32f; headers.Add(aHeading); aHeading.text = "Ending\nInventory"; aHeading.fieldName = "END_INVENTORY"; aHeading.width = 36f; headers.Add(aHeading); aHeading.text = "End Inv\nAvg Cost"; aHeading.fieldName = "END_INV_COST"; aHeading.align = Element.ALIGN_RIGHT; aHeading.format = "{0:0.00}"; headers.Add(aHeading); aHeading.text = "Turns"; aHeading.fieldName = "TURNS"; aHeading.width = 38f; aHeading.align = Element.ALIGN_RIGHT; aHeading.format = "{0}"; headers.Add(aHeading); }
public PartialPaymentListingReport(IPdfLauncher pdfLauncher) : base("Partial Payments Listing", " ", " ", pdfLauncher) { reportType = "Inquiry"; reportPageSize = PageSize.LETTER.Rotate(); showReportDate = false; heading aHeading = new heading() { align = Element.ALIGN_CENTER, width = 50f, format = "{0}", showTotal = false, field_align = -1, header_align = -1, Translator = null }; aHeading.text = "Loan #"; aHeading.fieldName = "TICKET_NUMBER"; headers.Add(aHeading); aHeading.text = "Loan Date Made"; aHeading.fieldName = "DATE_MADE"; aHeading.format = "{0:d}"; headers.Add(aHeading); aHeading.width = 110f; aHeading.text = "Customer Name"; aHeading.fieldName = "cust_name"; aHeading.format = "{0}"; headers.Add(aHeading); aHeading.width = 60f; aHeading.text = "Date Of Birth"; aHeading.fieldName = "birthdate"; aHeading.format = "{0:d}"; //aHeading.align = Element.ALIGN_RIGHT; headers.Add(aHeading); aHeading.text = "Loan Amount"; aHeading.fieldName = "LOAN_AMOUNT"; aHeading.format = "{0:C2}"; headers.Add(aHeading); aHeading.text = "New Principal Amount"; aHeading.fieldName = "CURRENT_PRIN_AMOUNT"; aHeading.format = "{0:C2}"; headers.Add(aHeading); aHeading.width = 80f; aHeading.text = "Partial Payment Date Paid"; aHeading.fieldName = "PP_DATE"; aHeading.format = "{0:d}"; headers.Add(aHeading); aHeading.width = 60f; aHeading.text = "Partial Payment Amount"; aHeading.fieldName = "PP_AMOUNT"; aHeading.format = "{0:C2}"; headers.Add(aHeading); aHeading.text = "Partial Payment Status"; aHeading.fieldName = "status_cd"; aHeading.format = "{0}"; headers.Add(aHeading); }
public DailySalesReport(IPdfLauncher pdfLauncher) : base("Daily Sales Report", "", "Totals:", pdfLauncher) { // TODO: add sales header for criteria, and gross profit to totals; total format?? // showReportDate = false; reportPageSize = PageSize.LEGAL.Rotate(); GroupByFooterTitle = "Total for User ID: {0}"; showGroupCount = false; heading aHeading = new heading() { align = Element.ALIGN_LEFT, width = 30f, format = "{0}", showTotal = false, field_align = Element.ALIGN_CENTER, header_align = Element.ALIGN_CENTER, Translator = null }; aHeading.text = "User ID"; aHeading.fieldName = "USERID"; aHeading.groupBy = true; headers.Add(aHeading); aHeading.text = "Date"; aHeading.fieldName = "REF_DATE"; aHeading.width = 50f; aHeading.groupBy = false; aHeading.field_align = Element.ALIGN_RIGHT; headers.Add(aHeading); aHeading.text = "PFI Date"; aHeading.fieldName = "PFI_DATE"; headers.Add(aHeading); aHeading.text = "ICN"; aHeading.fieldName = "ICN"; aHeading.field_align = Element.ALIGN_CENTER; aHeading.width = 100f; headers.Add(aHeading); aHeading.text = "Merchandise Description"; aHeading.fieldName = "MD_DESC"; aHeading.field_align = Element.ALIGN_LEFT; aHeading.align = Element.ALIGN_LEFT; aHeading.width = 370f; headers.Add(aHeading); aHeading.text = "Type"; aHeading.fieldName = "DISP_TYPE"; aHeading.align = Element.ALIGN_CENTER; aHeading.field_align = Element.ALIGN_CENTER; aHeading.width = 40f; headers.Add(aHeading); aHeading.text = "Transaction\nNumber"; aHeading.fieldName = "DISP_DOC"; aHeading.width = 45f; headers.Add(aHeading); aHeading.text = "Cost"; aHeading.fieldName = "ITEM_AMT"; aHeading.align = Element.ALIGN_CENTER; aHeading.field_align = Element.ALIGN_RIGHT; aHeading.width = 40f; aHeading.format = "{0:F2}"; aHeading.showTotal = true; headers.Add(aHeading); aHeading.text = "Retail\nAmount"; aHeading.fieldName = "ORIGINAL_PRICE"; headers.Add(aHeading); aHeading.text = "Sale\nAmount"; aHeading.fieldName = "SOLD_FOR_PRICE"; headers.Add(aHeading); aHeading.text = "Absolute Total $ Variance"; aHeading.fieldName = "VARNC"; aHeading.align = Element.ALIGN_RIGHT; headers.Add(aHeading); aHeading.text = "R/S % Variance"; aHeading.fieldName = "VARNC_PCT"; aHeading.format = "{0:F0} %"; headers.Add(aHeading); }
protected override void printGroupFooter(PdfPTable table, string lastGroup, int group_count) { string groupFooter; if (showGroupCount) { groupFooter = String.Format(GroupByFooterTitle + "\t{1}", lastGroup, group_count); } else { groupFooter = String.Format(GroupByFooterTitle, lastGroup); } PdfPCell cell = new PdfPCell(new Phrase(groupFooter, _reportFont)); cell.Border = Rectangle.TOP_BORDER; cell.Colspan = 2; cell.PaddingBottom = 13f; table.AddCell(cell); cell = new PdfPCell(); cell.Border = Rectangle.TOP_BORDER; cell.Colspan = 2; cell.PaddingBottom = 13f; table.AddCell(cell); decimal costAmt = headers[7].groupTotal; decimal retailAmt = headers[8].groupTotal; decimal saleAmt = headers[9].groupTotal; cell = new PdfPCell(new Phrase(string.Format("Gross Profit: {0:p0}", (saleAmt - costAmt) / saleAmt), _reportFont)); cell.Border = Rectangle.TOP_BORDER; cell.Colspan = 3; cell.HorizontalAlignment = Rectangle.ALIGN_LEFT; cell.PaddingLeft = -20f; cell.PaddingBottom = 13f; table.AddCell(cell); decimal variance = 0; for (int i = 1; i < headers.Count; i++) { heading h = headers[i]; string value = String.Empty; if (h.fieldName.Equals("VARNC_PCT")) { h.groupTotal = 0; break; } if (h.fieldName.Equals("VARNC")) { variance = h.groupTotal; } if (h.showTotal) { value = String.Format(h.format, h.groupTotal); h.groupTotal = 0; headers[i] = h; cell = new PdfPCell(new Phrase(value, _reportFont)); cell.HorizontalAlignment = h.field_align; cell.Border = Rectangle.TOP_BORDER; cell.PaddingBottom = 13f; table.AddCell(cell); } } decimal varncPct = 1; if (retailAmt != 0) { varncPct = Math.Abs(retailAmt - saleAmt) / retailAmt; // if we want to use an absolute amount, then use the following formula instead //varncPct = variance / retailAmt; } cell = new PdfPCell(new Phrase(string.Format("{0:p0}", varncPct), _reportFont)); cell.HorizontalAlignment = Rectangle.ALIGN_RIGHT; cell.Border = Rectangle.TOP_BORDER; cell.PaddingBottom = 13f; table.AddCell(cell); }
public bool CreateReport(DataTable rows) { bool isSuccessful = false; if (rows == null) { reportObject.ReportError = ReportConstants.NODATA; reportObject.ReportErrorLevel = (int)LogLevel.INFO; return(false); } iTextSharp.text.Document document = new iTextSharp.text.Document(_pageSize); try { //set up RunReport event overrides & create doc string reportFileName = Path.GetFullPath(reportObject.ReportTempFileFullName); if (!Directory.Exists(Path.GetDirectoryName(reportFileName))) { Directory.CreateDirectory(Path.GetDirectoryName(reportFileName)); } PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(reportFileName, FileMode.Create)); MyPageEvents eventMgr = new MyPageEvents { footer = _footer, disclaimer = _disclaimer }; writer.PageEvent = eventMgr; PdfPTable table = new PdfPTable(headers.Count); Image gif = Image.GetInstance(Common.Properties.Resources.logo, BaseColor.WHITE); gif.ScalePercent(35); _reportFont = FontFactory.GetFont("Arial", 8, iTextSharp.text.Font.NORMAL); document.AddTitle(reportObject.ReportTitle); document.SetPageSize(_pageSize); document.SetMargins(-50, -50, 10, 45); PrintReportHeader(table, gif); // Print Headings columnWidths = new float[headers.Count]; for (int i = 0; i < headers.Count; i++) { columnWidths[i] = headers[i].width; } table.SetWidthPercentage(columnWidths, _pageSize); foreach (heading h in headers) { int alignment = (h.header_align >= 0) ? h.header_align : h.align; PdfPCell cell = new PdfPCell(new Paragraph(h.text, _reportFont)) { Border = Rectangle.BOTTOM_BORDER, HorizontalAlignment = alignment, VerticalAlignment = Element.ALIGN_TOP, }; table.AddCell(cell); } table.HeaderRows = table.Rows.Count; int group_count = 0; // only used if report has a groupByTitle & groupBy Fields string lastGroup = ""; string nxtGroup = ""; bool breakGroup = false; int nrGroupByFields = 0; // Print Report Details for (int rowIter = 0; rowIter < rows.Rows.Count; rowIter++) { DataRow row = rows.Rows[rowIter]; for (int i = 0; i < headers.Count; i++) { heading h = headers[i]; int alignment = (h.field_align >= 0) ? h.field_align : h.align; if (!rows.Columns.Contains(h.fieldName)) { reportObject.ReportError = "Application Field (" + h.fieldName + ") not in the returned data."; reportObject.ReportErrorLevel = (int)LogLevel.FATAL; throw new Exception("FieldConfig"); } string value = ""; if (h.Translator != null) { value = h.Translator(row[h.fieldName]); } else { value = String.Format(h.format, row[h.fieldName]); } PdfPCell cell = new PdfPCell(new Phrase(value, _reportFont)); if (h.formatICN) { cell = this.GetFormattedICNCell(value); } cell.HorizontalAlignment = alignment; cell.Border = Rectangle.NO_BORDER; table.AddCell(cell); if (h.groupBy) { group_count++; if (lastGroup.Length == 0) { nrGroupByFields++; lastGroup = row[h.fieldName].ToString(); } if (rowIter + 1 < rows.Rows.Count && !lastGroup.Equals(rows.Rows[rowIter + 1][h.fieldName].ToString())) { breakGroup = true; nxtGroup = rows.Rows[rowIter + 1][h.fieldName].ToString(); } } if (h.showTotal) { decimal ttl = 0; bool didParse = decimal.TryParse(row[h.fieldName].ToString(), out ttl); if (didParse) { h.total += ttl; h.groupTotal += ttl; headers[i] = h; if (rowIter == 0) { nrTotalFields++; } } } } if (breakGroup) { printGroupFooter(table, lastGroup, group_count); group_count = 0; lastGroup = nxtGroup; breakGroup = false; } } if (!string.IsNullOrEmpty(GroupByFooterTitle) && nrGroupByFields > 0) { printGroupFooter(table, lastGroup, group_count); } if (!String.IsNullOrEmpty(_totalLabel)) { PrintReportFooter(table); } table.AddCell(new PdfPCell { Colspan = headers.Count, Border = Rectangle.NO_BORDER }); new RunReport().ReportLines(table, true, "", true, _reportFont); // End of Report message document.Open(); document.Add(table); document.Close(); isSuccessful = true; } catch (DocumentException de) { reportObject.ReportError = de.Message; reportObject.ReportErrorLevel = (int)LogLevel.ERROR; } catch (IOException ioe) { reportObject.ReportError = ioe.Message; reportObject.ReportErrorLevel = (int)LogLevel.ERROR; } catch (Exception e) { reportObject.ReportError = e.Message; reportObject.ReportErrorLevel = (int)LogLevel.ERROR; } return(isSuccessful); }