public void GetInventorySummaryReport() { CommonDatabaseContext dataContext = CreateCommonDatabaseContext(); List <AuditReportsObject.InventorySummaryChargeOffsField> fields = new List <AuditReportsObject.InventorySummaryChargeOffsField>(); //List<AuditReportsObject.InventorySummaryChargeOffsField> fieldsCacc = new List<AuditReportsObject.InventorySummaryChargeOffsField>(); List <AuditReportsObject.InventorySummaryHistoryField> invHistoryfields = new List <AuditReportsObject.InventorySummaryHistoryField>(); StringBuilder employeesPresent = new StringBuilder(); StringBuilder termEmployees = new StringBuilder(); //AuditReportsProcedures.GetInventorySummaryReportFields(ADS.ActiveAudit.StoreNumber, ADS.ActiveAudit.AuditId, dataContext); AuditReportsProcedures.GetInventorySummaryReportFields(ref fields, ref invHistoryfields, ref employeesPresent, ref termEmployees, ADS.ActiveAudit.StoreNumber, ADS.ActiveAudit.AuditId, dataContext); //AuditReportsProcedures.GetInventorySummaryReportFieldsCACC(ref fieldsCacc, ADS.ActiveAudit.StoreNumber, ADS.ActiveAudit.AuditId, dataContext); List <AuditReportsObject.InventoryQuestion> listQuestions = new List <AuditReportsObject.InventoryQuestion>(); foreach (InventoryQuestion question in ADS.InventoryQuestionsWithResponses) { AuditReportsObject.InventoryQuestion roQuestion = new AuditReportsObject.InventoryQuestion() { Question = question.Question, QuestionNumber = question.QuestionNumber, Response = question.Response, }; listQuestions.Add(roQuestion); } var newListQuestions = listQuestions.OrderBy(x => x.QuestionNumber); AuditReportsObject ro = new AuditReportsObject(); ro.InventoryQuestionsAdditionalComments = ADS.InventoryQuestionsAdditionalComments; ro.ReportNumber = 22; ro.ReportStore = ADS.ActiveAudit.StoreName; //ro.StoreNumber = ADS.ActiveAudit.StoreNumber; ro.StoreNumber = ADS.ActiveAudit.StoreNumber; ro.InventoryAuditDate = DateTime.Today; ro.ListInventorySummaryChargeOffsField = fields; ro.ListInventorySummaryChargeOffsFieldCACC = ADS.InventorySummaryReportFieldsCACC; ro.ListInventorySummaryHistoryField = invHistoryfields; ro.ListInventoryQuestions = newListQuestions.ToList(); ro.StringbuilderInvSummEmployeesPresent = employeesPresent; ro.StringbuilderInvSummTermEmployees = termEmployees; ro.ActiveAudit = ADS.ReportActiveAudit; ro.ReportTempFile = ReportDirectoryPath; InventorySummaryReport invRpt = new InventorySummaryReport(); invRpt.ReportObject = ro; invRpt.CreateReport(); PrintAndStoreReport(ro, "Inventory Summary"); }
public bool CreateReport() { bool isSuccessful = false; iTextSharp.text.Document document = new iTextSharp.text.Document(PageSize.LETTER); try { ReportObject.CreateTemporaryFullName("InventorySummaryReport"); _pageCount = 1; InventorySummaryReport events = this; PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(ReportObject.ReportTempFileFullName, FileMode.Create)); writer.PageEvent = events; MultiColumnText columns = new MultiColumnText(document.PageSize.Top - 120, document.PageSize.Height); float pageLeft = document.PageSize.Left; float pageright = document.PageSize.Right; columns.AddSimpleColumn(20, document.PageSize.Width - 20); //set up tables, etc... PdfPCell cell = new PdfPCell(); Image gif = Image.GetInstance(Common.Properties.Resources.logo, BaseColor.WHITE); gif.ScalePercent(25); document.Open(); document.SetPageSize(PageSize.LETTER); document.SetMargins(-100, -100, 10, 45); document.AddTitle(ReportObject.ReportTitle + ": " + DateTime.Now.ToString("MM/dd/yyyy")); PdfPTable employeeSectionTable = new PdfPTable(12); employeeSectionTable.WidthPercentage = 100;// document.PageSize.Width; WriteEmployeeSection(employeeSectionTable); columns.AddElement(employeeSectionTable); PdfPTable chargeOffsSectionTable = new PdfPTable(12); chargeOffsSectionTable.WidthPercentage = 100;// document.PageSize.Width; WriteChargeOffHeaders(chargeOffsSectionTable, 12); WriteChargeOffsSection(chargeOffsSectionTable, 12, ReportObject.ListInventorySummaryChargeOffsField, true); WriteCell(chargeOffsSectionTable, string.Empty, ReportFontBold, 12, Element.ALIGN_LEFT, Rectangle.NO_BORDER, false); WriteCell(chargeOffsSectionTable, string.Empty, ReportFontBold, 12, Element.ALIGN_LEFT, Rectangle.NO_BORDER, false); WriteChargeOffsSection(chargeOffsSectionTable, 12, ReportObject.ListInventorySummaryChargeOffsFieldCACC, false); PdfPTable currentInventorySectionTable = new PdfPTable(12); currentInventorySectionTable.WidthPercentage = 100;// document.PageSize.Width; WriteCurrentInventorySection(currentInventorySectionTable, 12); columns.AddElement(currentInventorySectionTable); columns.AddElement(chargeOffsSectionTable); //PdfPTable chargeOffsCACCSectionTable = new PdfPTable(12); //chargeOffsCACCSectionTable.WidthPercentage = 100;// document.PageSize.Width; //WriteChargeOffsSection(chargeOffsCACCSectionTable, 12, ReportObject.ListInventorySummaryChargeOffsFieldCACC); //columns.AddElement(chargeOffsCACCSectionTable); document.Add(columns); NewPage = true; document.NewPage(); MultiColumnText columns2 = new MultiColumnText(document.PageSize.Top - 120, document.PageSize.Height); columns2.AddSimpleColumn(20, document.PageSize.Width - 20); PdfPTable additionalCommentsSectionTable = new PdfPTable(1); additionalCommentsSectionTable.WidthPercentage = 100;// document.PageSize.Width; WriteAdditionalCommentsSection(additionalCommentsSectionTable, 1); columns2.AddElement(additionalCommentsSectionTable); PdfPTable deficiencesSectionTable = new PdfPTable(5); deficiencesSectionTable.WidthPercentage = 100;// document.PageSize.Width; WriteDeficiencesSection(deficiencesSectionTable, 5); columns2.AddElement(deficiencesSectionTable); PdfPTable inventoryHistorySectionTable = new PdfPTable(9); inventoryHistorySectionTable.WidthPercentage = 100;// document.PageSize.Width; WriteInventoryHistorySection(inventoryHistorySectionTable, 9); columns2.AddElement(inventoryHistorySectionTable); document.Add(columns2); document.Close(); //OpenFile(ReportObject.ReportTempFileFullName); //CreateReport(); 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; } return(isSuccessful); }