private void GenerateSouthwindAwardPdfReport() { //TODO: validate size and margins Document doc = new Document(PageSize.LETTER, 36, 36, 36, 36); try { string ReportPath = PortalSettings.HomeDirectoryMapPath + "\\SouthwindReport.pdf"; PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(ReportPath, FileMode.Create)); //Data Stuff... IDataReader dr = DataProvider.Instance().GetPeopleAwardByTime(int.Parse(ddlGroupList.SelectedValue), DateTime.Today.AddDays(-int.Parse(txtDays.Text)), DateTime.Today); ds = DataProvider.ConvertDataReaderToDataSet(dr, true); dr = DataProvider.Instance().GetAwardsCountByTime(int.Parse(ddlGroupList.SelectedValue), DateTime.Today.AddDays(-int.Parse(txtDays.Text)), DateTime.Today); ds.Tables.Add(DataProvider.ConvertDataReaderToDataTable(dr)); if (ds.Tables[0].Rows.Count > 0) { string subject = string.Format("Awards given between {0:d} and {1:d} in {2}", DateTime.Today.AddDays(-int.Parse(txtDays.Text)), DateTime.Today, ddlGroupList.SelectedValue == "-1" ? "All Groups" : ddlGroupList.SelectedItem.Text); ; // create add the event handler MyPageEvents events = new MyPageEvents(subject, GenDate); writer.PageEvent = events; doc.AddSubject(subject); doc.Open(); AddCrownAwardReportHeader(doc, subject, "", "Summary Award Counts for " + DateTime.Today.AddDays(-int.Parse(txtDays.Text)).ToShortDateString() + "-" + DateTime.Today.ToShortDateString(), ds.Tables[1].DefaultView); AddCrownAwardEntries(doc, ds.Tables[0].DefaultView); } else { Paragraph Message = new Paragraph( "No Awards were found for the Time Span Requested - " + DateTime.Today.AddDays(-int.Parse(txtDays.Text)).ToShortDateString() + "-" + DateTime.Today.ToShortDateString(), FontFactory.GetFont(FontFactory.HELVETICA, 12, Font.BOLD)); Message.Alignment = Element.ALIGN_CENTER; doc.Open(); doc.Add(Message); } } finally { if (doc.IsOpen()) { doc.Close(); } } }
private void GenerateBarionalReport() { //TODO: validate size and margins Document doc = new Document(PageSize.LETTER, 36, 36, 36, 36); try { string ReportPath = PortalSettings.HomeDirectoryMapPath + "\\BaronialAwardReport.pdf"; PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(ReportPath, FileMode.Create)); // create add the event handler MyPageEvents events = new MyPageEvents(ddlBarony.SelectedItem.Text + " Order of Precedence", GenDate); writer.PageEvent = events; string subject = ddlBarony.SelectedItem.Text + " Order of Precedence"; doc.AddSubject(subject); doc.Open(); AddOPReportHeader(doc, subject, ""); ds = DataProvider.ConvertDataReaderToDataSet(DataProvider.Instance().ListPeopleByOP()); ds.Tables.Add( DataProvider.ConvertDataReaderToDataTable(DataProvider.Instance().GetSingleGroupEnchiladaReport(int.Parse(ddlBarony.SelectedValue)))); ds.Relations.Add("Awards", ds.Tables[0].Columns["PeopleId"], ds.Tables[1].Columns["PeopleId"]); ds.Tables[0].DefaultView.Sort = "SCAName"; foreach (DataRowView drv in ds.Tables[0].DefaultView) { AddOPEntry(doc, drv); } } finally { doc.Close(); } }
private void GeneratePdfReport(bool removeDeadAndNonResidents) { //TODO: validate size and margins Document doc = new Document(PageSize.LETTER, 36, 36, 36, 36); try { string ReportPath = PortalSettings.HomeDirectoryMapPath + "\\OPReport.pdf"; PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(ReportPath, FileMode.Create)); // create add the event handler MyPageEvents events = new MyPageEvents("Kingdom of Atenveldt Order of Precedence", GenDate); writer.PageEvent = events; doc.AddSubject("Kingdom of Atenveldt Order of Precedence"); doc.Open(); AddOPReportHeader(doc); ds = DataProvider.ConvertDataReaderToDataSet(DataProvider.Instance().ListPeopleByOP()); ds.Tables.Add( DataProvider.ConvertDataReaderToDataTable(DataProvider.Instance().GetWholeEnchiladaReport())); ds.Relations.Add("Awards", ds.Tables[0].Columns["PeopleId"], ds.Tables[1].Columns["PeopleId"]); ds.Tables[0].DefaultView.Sort = "SCAName"; if (removeDeadAndNonResidents) { ds.Tables[0].DefaultView.RowFilter = "ParentKingdom = 26 AND Deceased=0"; } foreach (DataRowView drv in ds.Tables[0].DefaultView) { AddOPEntry(doc, drv); } } finally { doc.Close(); } }
private void GenerateCrownAwardPdfReport() { //TODO: validate size and margins Document doc = new Document(PageSize.LETTER, 36, 36, 36, 36); try { string ReportPath = PortalSettings.HomeDirectoryMapPath + "\\CrownReport.pdf"; PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(ReportPath, FileMode.Create)); //Data Stuff... IDataReader dr = DataProvider.Instance().GetPeopleAwardByCrowns(int.Parse(ddlEdit_GivenBy.SelectedValue)); ds = DataProvider.ConvertDataReaderToDataSet(dr, true); dr.NextResult(); ds.Tables.Add(DataProvider.ConvertDataReaderToDataTable(dr)); dr = DataProvider.Instance().GetAwardsCountByCrowns(int.Parse(ddlEdit_GivenBy.SelectedValue)); ds.Tables.Add(DataProvider.ConvertDataReaderToDataTable(dr)); if (ds.Tables[0].Rows.Count > 0) { string subject = "Awards Given by " + ds.Tables[0].Rows[0]["AwardedBy"]; string subtitle = string.Format("Given during Reign {0} of {1} between {2:d} and {3:d}", ds.Tables[0].Rows[0]["Reign"], ds.Tables[0].Rows[0]["GroupName"], ds.Tables[0].Rows[0]["CrownStartDate"], ds.Tables[0].Rows[0]["CrownEndDate"]) ; // create add the event handler MyPageEvents events = new MyPageEvents(subject, GenDate); writer.PageEvent = events; doc.AddSubject(subject); doc.Open(); AddCrownAwardReportHeader(doc, subject, subtitle, "Summary Award Counts for the Reign", ds.Tables[2].DefaultView); AddCrownAwardEntries(doc, ds.Tables[0].DefaultView); if (ds.Tables.Count > 1 && ds.Tables[1].Rows.Count > 0) { doc.NewPage(); Paragraph Additional = new Paragraph( "Additional Awards Given out during the reign but not assigned a \"Given By\"", FontFactory.GetFont(FontFactory.HELVETICA, 12, Font.BOLD)); Additional.Alignment = Element.ALIGN_CENTER; doc.Add(Additional); AddCrownAwardEntries(doc, ds.Tables[1].DefaultView); } } else { Paragraph Message = new Paragraph( "No Awards were found for the Reign Requested - " + ddlEdit_GivenBy.SelectedItem.Text, FontFactory.GetFont(FontFactory.HELVETICA, 12, Font.BOLD)); Message.Alignment = Element.ALIGN_CENTER; doc.Open(); doc.Add(Message); } } finally { if (doc.IsOpen()) { doc.Close(); } } }