private static void ReportBuilder(List<SHPaySumListItem> stateList, int cropYear, string statementDate, string shid, string fromShid, string toShid, int paymentDescID, bool isCumulative, string rptFooter, string logoUrl, FileStream fs) { const string METHOD_NAME = "rptPaymentSummary.ReportBuilder: "; Document document = null; PdfWriter writer = null; PdfPTable table = null; PaymentSummaryEvent pgEvent = null; iTextSharp.text.Image imgLogo = null; decimal totalTons = 0; decimal totalEHPrem = 0; decimal totalGross = 0; decimal totalDeductions = 0; decimal totalNet = 0; decimal totalGrowerNet = 0; decimal totalLandownerNet = 0; decimal checkAmount = 0; int resetFlag = 0; int checkSequence = 0; int payeeNumber = 0; string rptTitle = "Western Sugar Cooperative Payment Summary"; Font headerFont = FontFactory.GetFont("HELVETICA", 8F, Font.NORMAL); Font normalFont = FontFactory.GetFont("HELVETICA", 8F, Font.NORMAL); Font labelFont = FontFactory.GetFont("HELVETICA", 8F, Font.BOLD); try { int firstContractNumber = stateList.Min(c => c.i_ContractNumber); int lastContractNumber = stateList.Max(c => c.i_ContractNumber); List<TransDeductionListItem> deductionList = WSCPayment.GetTransmittalDeduction2(ConfigurationManager.ConnectionStrings["BeetConn"].ToString(), cropYear, paymentDescID, 0, firstContractNumber, lastContractNumber, isCumulative); foreach (SHPaySumListItem item in stateList) { if (document == null) { // IF YOU CHANGE MARGINS, CHANGE YOUR TABLE LAYOUTS !!! // *** US LETTER: 612 X 792 *** //document = new Document(iTextSharp.text.PageSize.LETTER, 36, 36, 54, 72); document = new Document(PortraitPageSize.PgPageSize, PortraitPageSize.PgLeftMargin, PortraitPageSize.PgRightMargin, PortraitPageSize.PgTopMargin, PortraitPageSize.PgBottomMargin); // we create a writer that listens to the document // and directs a PDF-stream to a file writer = PdfWriter.GetInstance(document, fs); imgLogo = PdfReports.GetImage(logoUrl, 127, 50, iTextSharp.text.Element.ALIGN_CENTER); // Attach my override event handler(s) checkSequence = item.i_CheckSequence; pgEvent = new PaymentSummaryEvent(); pgEvent.FillEvent(item, cropYear, statementDate, resetFlag, rptTitle, imgLogo); writer.PageEvent = pgEvent; pgEvent.HeaderNameList = _detailSectionHdrNames; pgEvent.HeaderTableLayout = _primaryTableLayout; // Open the document document.Open(); pgEvent.HeaderTableLayout = null; table = PdfReports.CreateTable(_primaryTableLayout, 1); checkAmount = item.d_checkAmount; payeeNumber = item.i_Payee_Number; } else { if (checkSequence != item.i_CheckSequence) { AddTotals(ref writer, ref document, ref table, labelFont, normalFont, totalTons, totalEHPrem, totalGross, totalDeductions, totalNet, checkAmount, payeeNumber, totalGrowerNet, totalLandownerNet, pgEvent); AddFooter(ref writer, ref document, normalFont, rptFooter, pgEvent); // Clear totals values totalTons = 0; totalEHPrem = 0; totalGross = 0; totalDeductions = 0; totalNet = 0; totalGrowerNet = 0; totalLandownerNet = 0; checkSequence = item.i_CheckSequence; // NEW CHECK pgEvent.FillEvent(item, cropYear, statementDate, resetFlag, rptTitle, imgLogo); pgEvent.HeaderTableLayout = _primaryTableLayout; document.NewPage(); pgEvent.HeaderTableLayout = null; table = PdfReports.CreateTable(_primaryTableLayout, 1); checkAmount = item.d_checkAmount; payeeNumber = item.i_Payee_Number; //AddDetailSectionHdr(ref table, labelFont, normalFont); } } // ======================================================= // Contract Number Line // ======================================================= PdfReports.AddText2Table(table, "Contract", labelFont, "left"); PdfReports.AddText2Table(table, item.i_ContractNumber.ToString(), labelFont, "center"); PdfReports.AddText2Table(table, " ", normalFont); PdfReports.AddText2Table(table, item.d_Avg_SLM.ToString("N4"), normalFont, "right"); PdfReports.AddText2Table(table, " ", normalFont, 3); PdfReports.AddText2Table(table, item.d_EH_Bonus.ToString("N2"), normalFont, "right", 2); totalEHPrem += item.d_EH_Bonus; PdfReports.AddText2Table(table, " ", normalFont, 4); // ======================================================= // Station Name Line // ======================================================= PdfReports.AddText2Table(table, "Station", normalFont); PdfReports.AddText2Table(table, item.s_Station_Name, normalFont, "center"); PdfReports.AddText2Table(table, "EH", normalFont, "center"); PdfReports.AddText2Table(table, item.d_EH_SLM.ToString("N4"), normalFont, "right"); PdfReports.AddText2Table(table, item.d_EH_Sugar.ToString("N2"), normalFont, "right"); PdfReports.AddText2Table(table, item.d_EH_Paid.ToString("N3"), normalFont, "right"); PdfReports.AddText2Table(table, item.d_EH_Price.ToString("N3"), normalFont, "right"); PdfReports.AddText2Table(table, (item.d_EH_Tons - item.d_EH_tons_moved).ToString("N4"), normalFont, "right"); totalTons += item.d_EH_Tons; PdfReports.AddText2Table(table, " ", normalFont); PdfReports.AddText2Table(table, (item.d_EH_Gross_Pay - item.d_EH_amt_moved).ToString("N2"), normalFont, "right"); totalGross += item.d_EH_Gross_Pay; PdfReports.AddText2Table(table, " ", normalFont, 3); // ======================================================= // Landowner Name Line // ======================================================= PdfReports.AddText2Table(table, "LO", normalFont); PdfReports.AddText2Table(table, item.s_LOName, normalFont, "center"); PdfReports.AddText2Table(table, "RH", normalFont, "center"); PdfReports.AddText2Table(table, item.d_RH_SLM.ToString("N4"), normalFont, "right"); PdfReports.AddText2Table(table, item.d_RH_Sugar.ToString("N2"), normalFont, "right"); PdfReports.AddText2Table(table, item.d_RH_Paid.ToString("N3"), normalFont, "right"); PdfReports.AddText2Table(table, item.d_RH_Price.ToString("N3"), normalFont, "right"); PdfReports.AddText2Table(table, (item.d_RH_Tons - item.d_RH_tons_moved).ToString("N4"), normalFont, "right"); totalTons += item.d_RH_Tons; PdfReports.AddText2Table(table, " ", normalFont); PdfReports.AddText2Table(table, (item.d_RH_Gross_Pay - item.d_RH_amt_moved).ToString("N2"), normalFont, "right"); totalGross += item.d_RH_Gross_Pay; PdfReports.AddText2Table(table, item.d_Deduct_Total.ToString("N2"), normalFont, "right"); totalDeductions += item.d_Deduct_Total; PdfReports.AddText2Table(table, (item.d_Total_Net - item.d_EH_amt_moved - item.d_RH_amt_moved).ToString("N2"), normalFont, "right"); totalNet += item.d_Total_Net; PdfReports.AddText2Table(table, " ", normalFont); // ======================================================= // Reduced for Excess Beets // ======================================================= // Reduced Early Harvest PdfReports.AddText2Table(table, "Reduced Early Harvest Excess Beets", normalFont, 3); PdfReports.AddText2Table(table, " ", normalFont, "right"); PdfReports.AddText2Table(table, " ", normalFont, "right"); PdfReports.AddText2Table(table, " ", normalFont, "right"); PdfReports.AddText2Table(table, " ", normalFont, "right"); PdfReports.AddText2Table(table, item.d_EH_tons_moved.ToString("#,#.0000;(#,#.0000)"), normalFont, "right"); //totalTons += item.d_RH_Tons; PdfReports.AddText2Table(table, " ", normalFont); PdfReports.AddText2Table(table, item.d_EH_amt_moved.ToString("#,#.00;(#,#.00)"), normalFont, "right"); //totalGross += item.d_RH_Gross_Pay; PdfReports.AddText2Table(table, " ", normalFont, "right"); //totalDeductions += item.d_Deduct_Total; PdfReports.AddText2Table(table, item.d_EH_amt_moved.ToString("#,#.00;(#,#.00)"), normalFont, "right"); //totalNet += item.d_Total_Net; PdfReports.AddText2Table(table, " ", normalFont); // Reduced Regular Harvest PdfReports.AddText2Table(table, "Reduced Regular Harvest Excess Beets", normalFont, 3); PdfReports.AddText2Table(table, " ", normalFont, "right"); PdfReports.AddText2Table(table, " ", normalFont, "right"); PdfReports.AddText2Table(table, " ", normalFont, "right"); PdfReports.AddText2Table(table, " ", normalFont, "right"); PdfReports.AddText2Table(table, item.d_RH_tons_moved.ToString("#,#.0000;(#,#.0000)"), normalFont, "right"); //totalTons += item.d_RH_Tons; PdfReports.AddText2Table(table, " ", normalFont); PdfReports.AddText2Table(table, item.d_RH_amt_moved.ToString("#,#.00;(#,#.00)"), normalFont, "right"); //totalGross += item.d_RH_Gross_Pay; PdfReports.AddText2Table(table, " ", normalFont, "right"); //totalDeductions += item.d_Deduct_Total; PdfReports.AddText2Table(table, item.d_RH_amt_moved.ToString("#,#.00;(#,#.00)"), normalFont, "right"); //totalNet += item.d_Total_Net; PdfReports.AddText2Table(table, " ", normalFont); // ======================================================= // Grower / Landowner NET Split // ======================================================= PdfReports.AddText2Table(table, " ", normalFont, 9); PdfReports.AddText2Table(table, "Grower Net", labelFont, 2); totalGrowerNet += item.d_groAmount; PdfReports.AddText2Table(table, item.d_groAmount.ToString("N2"), normalFont, "right"); PdfReports.AddText2Table(table, " ", normalFont); PdfReports.AddText2Table(table, " ", normalFont, 9); PdfReports.AddText2Table(table, "Landowner Net", labelFont, 2); totalLandownerNet += item.d_ldoAmount; PdfReports.AddText2Table(table, item.d_ldoAmount.ToString("N2"), normalFont, "right"); PdfReports.AddText2Table(table, " ", normalFont); // BLANK LINE PdfReports.AddText2Table(table, " ", normalFont, 13); pgEvent.HeaderTableLayout = _primaryTableLayout; PdfReports.AddTableNoSplit(document, pgEvent, table); pgEvent.HeaderTableLayout = null; //================================================================ // Add Deduction information //================================================================ table = PdfReports.CreateTable(_primaryTableLayout, 1); PdfReports.AddText2Table(table, " ", labelFont, 4); PdfReports.AddText2Table(table, "Deduction", labelFont, "left", 4); PdfReports.AddText2Table(table, "Payment", labelFont, "left", 2); PdfReports.AddText2Table(table, "Amount", labelFont, "center"); PdfReports.AddText2Table(table, " ", labelFont, 2); var contractDeductions = from deduction in deductionList where deduction.Contract_Number == item.i_ContractNumber && deduction.Payment_Number <= item.i_PaymentNumber orderby deduction.Payment_Number, deduction.Deduction_Number select deduction; foreach(TransDeductionListItem dedItem in contractDeductions) { if (dedItem.Amount != 0) { PdfReports.AddText2Table(table, " ", labelFont, 4); PdfReports.AddText2Table(table, dedItem.Deduction_Desc, normalFont, "left", 4); PdfReports.AddText2Table(table, dedItem.Payment_Description, normalFont, "left", 2); PdfReports.AddText2Table(table, dedItem.Amount.ToString("$#,##0.00"), normalFont, "right"); PdfReports.AddText2Table(table, " ", labelFont, 2); } } PdfReports.AddText2Table(table, " ", normalFont, 13); } // BLANK LINE PdfReports.AddText2Table(table, " ", normalFont, 13); PdfReports.AddTableNoSplit(document, pgEvent, table); table = PdfReports.CreateTable(_primaryTableLayout, 1); // ====================================================== // Close document // ====================================================== if (document != null) { table = PdfReports.CreateTable(_primaryTableLayout, 1); AddTotals(ref writer, ref document, ref table, labelFont, normalFont, totalTons, totalEHPrem, totalGross, totalDeductions, totalNet, checkAmount, payeeNumber, totalGrowerNet, totalLandownerNet, pgEvent); AddFooter(ref writer, ref document, normalFont, rptFooter, pgEvent); pgEvent.IsDocumentClosing = true; document.Close(); document = null; } if (writer == null) { // Warn that we have no data. WSCIEMP.Common.CWarning warn = new WSCIEMP.Common.CWarning("No records matched your report criteria."); throw (warn); } } catch (Exception ex) { string errMsg = "document is null: " + (document == null).ToString() + "; " + "writer is null: " + (writer == null).ToString(); WSCIEMP.Common.CException wscex = new WSCIEMP.Common.CException(METHOD_NAME + errMsg, ex); throw (wscex); } finally { if (document != null) { pgEvent.IsDocumentClosing = true; document.Close(); } if (writer != null) { writer.Close(); } } }
private static void AddTotals(ref PdfWriter writer, ref Document document, ref PdfPTable table, Font labelFont, Font normalFont, decimal totalTons, decimal totalEHPrem, decimal totalGross, decimal totalDeductions, decimal totalNet, decimal checkAmount, int payeeNumber, decimal totalGrowerNet, decimal totalLandownerNet, PaymentSummaryEvent pgEvent) { decimal growerAmt = 0; decimal landownerAmt = 0; growerAmt = totalGrowerNet; landownerAmt = totalLandownerNet; // =============================================================================== // Total Line: totalTons, totalEHPrem, totalGross, totalDeductions, totalNet // =============================================================================== PdfReports.AddText2Table(table, " ", normalFont, 13); PdfReports.AddText2Table(table, " ", normalFont, 5); PdfReports.AddText2Table(table, "Tons", labelFont, "center", 2); PdfReports.AddText2Table(table, "EH", labelFont, "right", 2); PdfReports.AddText2Table(table, "Gross", labelFont, "center"); PdfReports.AddText2Table(table, "Deductions", labelFont, "center"); PdfReports.AddText2Table(table, "Net", labelFont, "center"); PdfReports.AddText2Table(table, " ", normalFont); PdfReports.AddText2Table(table, " ", normalFont, 5); PdfReports.AddText2Table(table, totalTons.ToString("N4"), normalFont, "right", 2); PdfReports.AddText2Table(table, totalEHPrem.ToString("N2"), normalFont, "right", 2); PdfReports.AddText2Table(table, totalGross.ToString("N2"), normalFont, "right"); PdfReports.AddText2Table(table, totalDeductions.ToString("N2"), normalFont, "right"); PdfReports.AddText2Table(table, totalNet.ToString("N2"), normalFont, "right"); PdfReports.AddText2Table(table, " ", normalFont); PdfReports.AddText2Table(table, " ", normalFont, 13); PdfReports.AddText2Table(table, " ", normalFont, 9); PdfReports.AddText2Table(table, "Grower Net", labelFont, 2); PdfReports.AddText2Table(table, growerAmt.ToString("N2"), normalFont, "right"); PdfReports.AddText2Table(table, " ", normalFont); PdfReports.AddText2Table(table, " ", normalFont, 9); PdfReports.AddText2Table(table, "Landowner Net", labelFont, 2); PdfReports.AddText2Table(table, landownerAmt.ToString("N2"), normalFont, "right"); PdfReports.AddText2Table(table, " ", normalFont); PdfReports.AddText2Table(table, " ", normalFont, 13); PdfReports.AddText2Table(table, " ", normalFont, 13); PdfReports.AddTableNoSplit(document, pgEvent, table); }
private static void AddFooter(ref PdfWriter writer, ref Document document, Font normalFont, string rptFooter, PaymentSummaryEvent pgEvent) { float[] footerLayout = new float[] { 540 }; PdfPTable table = PdfReports.CreateTable(footerLayout, 1); PdfReports.AddText2Table(table, rptFooter, normalFont, "center"); PdfReports.AddTableNoSplit(document, pgEvent, table); }
private static void ReportBuilder(List <SHPaySumListItem> stateList, int cropYear, string statementDate, string shid, string fromShid, string toShid, int paymentDescID, bool isCumulative, string rptFooter, string logoUrl, FileStream fs) { const string METHOD_NAME = "rptPaymentSummary.ReportBuilder: "; Document document = null; PdfWriter writer = null; PdfPTable table = null; PaymentSummaryEvent pgEvent = null; iTextSharp.text.Image imgLogo = null; decimal totalTons = 0; decimal totalEHPrem = 0; decimal totalGross = 0; decimal totalDeductions = 0; decimal totalNet = 0; decimal totalGrowerNet = 0; decimal totalLandownerNet = 0; decimal checkAmount = 0; int resetFlag = 0; int checkSequence = 0; int payeeNumber = 0; string rptTitle = "Western Sugar Cooperative Payment Summary"; Font headerFont = FontFactory.GetFont("HELVETICA", 8F, Font.NORMAL); Font normalFont = FontFactory.GetFont("HELVETICA", 8F, Font.NORMAL); Font labelFont = FontFactory.GetFont("HELVETICA", 8F, Font.BOLD); try { int firstContractNumber = stateList.Min(c => c.i_ContractNumber); int lastContractNumber = stateList.Max(c => c.i_ContractNumber); List <TransDeductionListItem> deductionList = WSCPayment.GetTransmittalDeduction2(ConfigurationManager.ConnectionStrings["BeetConn"].ToString(), cropYear, paymentDescID, 0, firstContractNumber, lastContractNumber, isCumulative); foreach (SHPaySumListItem item in stateList) { if (document == null) { // IF YOU CHANGE MARGINS, CHANGE YOUR TABLE LAYOUTS !!! // *** US LETTER: 612 X 792 *** //document = new Document(iTextSharp.text.PageSize.LETTER, 36, 36, 54, 72); document = new Document(PortraitPageSize.PgPageSize, PortraitPageSize.PgLeftMargin, PortraitPageSize.PgRightMargin, PortraitPageSize.PgTopMargin, PortraitPageSize.PgBottomMargin); // we create a writer that listens to the document // and directs a PDF-stream to a file writer = PdfWriter.GetInstance(document, fs); imgLogo = PdfReports.GetImage(logoUrl, 127, 50, iTextSharp.text.Element.ALIGN_CENTER); // Attach my override event handler(s) checkSequence = item.i_CheckSequence; pgEvent = new PaymentSummaryEvent(); pgEvent.FillEvent(item, cropYear, statementDate, resetFlag, rptTitle, imgLogo); writer.PageEvent = pgEvent; pgEvent.HeaderNameList = _detailSectionHdrNames; pgEvent.HeaderTableLayout = _primaryTableLayout; // Open the document document.Open(); pgEvent.HeaderTableLayout = null; table = PdfReports.CreateTable(_primaryTableLayout, 1); checkAmount = item.d_checkAmount; payeeNumber = item.i_Payee_Number; } else { if (checkSequence != item.i_CheckSequence) { AddTotals(ref writer, ref document, ref table, labelFont, normalFont, totalTons, totalEHPrem, totalGross, totalDeductions, totalNet, checkAmount, payeeNumber, totalGrowerNet, totalLandownerNet, pgEvent); AddFooter(ref writer, ref document, normalFont, rptFooter, pgEvent); // Clear totals values totalTons = 0; totalEHPrem = 0; totalGross = 0; totalDeductions = 0; totalNet = 0; totalGrowerNet = 0; totalLandownerNet = 0; checkSequence = item.i_CheckSequence; // NEW CHECK pgEvent.FillEvent(item, cropYear, statementDate, resetFlag, rptTitle, imgLogo); pgEvent.HeaderTableLayout = _primaryTableLayout; document.NewPage(); pgEvent.HeaderTableLayout = null; table = PdfReports.CreateTable(_primaryTableLayout, 1); checkAmount = item.d_checkAmount; payeeNumber = item.i_Payee_Number; //AddDetailSectionHdr(ref table, labelFont, normalFont); } } // ======================================================= // Contract Number Line // ======================================================= PdfReports.AddText2Table(table, "Contract", labelFont, "left"); PdfReports.AddText2Table(table, item.i_ContractNumber.ToString(), labelFont, "center"); PdfReports.AddText2Table(table, " ", normalFont); PdfReports.AddText2Table(table, item.d_Avg_SLM.ToString("N4"), normalFont, "right"); PdfReports.AddText2Table(table, " ", normalFont, 3); PdfReports.AddText2Table(table, item.d_EH_Bonus.ToString("N2"), normalFont, "right", 2); totalEHPrem += item.d_EH_Bonus; PdfReports.AddText2Table(table, " ", normalFont, 4); // ======================================================= // Station Name Line // ======================================================= PdfReports.AddText2Table(table, "Station", normalFont); PdfReports.AddText2Table(table, item.s_Station_Name, normalFont, "center"); PdfReports.AddText2Table(table, "EH", normalFont, "center"); PdfReports.AddText2Table(table, item.d_EH_SLM.ToString("N4"), normalFont, "right"); PdfReports.AddText2Table(table, item.d_EH_Sugar.ToString("N2"), normalFont, "right"); PdfReports.AddText2Table(table, item.d_EH_Paid.ToString("N3"), normalFont, "right"); PdfReports.AddText2Table(table, item.d_EH_Price.ToString("N3"), normalFont, "right"); PdfReports.AddText2Table(table, (item.d_EH_Tons - item.d_EH_tons_moved).ToString("N4"), normalFont, "right"); totalTons += item.d_EH_Tons; PdfReports.AddText2Table(table, " ", normalFont); PdfReports.AddText2Table(table, (item.d_EH_Gross_Pay - item.d_EH_amt_moved).ToString("N2"), normalFont, "right"); totalGross += item.d_EH_Gross_Pay; PdfReports.AddText2Table(table, " ", normalFont, 3); // ======================================================= // Landowner Name Line // ======================================================= PdfReports.AddText2Table(table, "LO", normalFont); PdfReports.AddText2Table(table, item.s_LOName, normalFont, "center"); PdfReports.AddText2Table(table, "RH", normalFont, "center"); PdfReports.AddText2Table(table, item.d_RH_SLM.ToString("N4"), normalFont, "right"); PdfReports.AddText2Table(table, item.d_RH_Sugar.ToString("N2"), normalFont, "right"); PdfReports.AddText2Table(table, item.d_RH_Paid.ToString("N3"), normalFont, "right"); PdfReports.AddText2Table(table, item.d_RH_Price.ToString("N3"), normalFont, "right"); PdfReports.AddText2Table(table, (item.d_RH_Tons - item.d_RH_tons_moved).ToString("N4"), normalFont, "right"); totalTons += item.d_RH_Tons; PdfReports.AddText2Table(table, " ", normalFont); PdfReports.AddText2Table(table, (item.d_RH_Gross_Pay - item.d_RH_amt_moved).ToString("N2"), normalFont, "right"); totalGross += item.d_RH_Gross_Pay; PdfReports.AddText2Table(table, item.d_Deduct_Total.ToString("N2"), normalFont, "right"); totalDeductions += item.d_Deduct_Total; PdfReports.AddText2Table(table, (item.d_Total_Net - item.d_EH_amt_moved - item.d_RH_amt_moved).ToString("N2"), normalFont, "right"); totalNet += item.d_Total_Net; PdfReports.AddText2Table(table, " ", normalFont); // ======================================================= // Reduced for Excess Beets // ======================================================= // Reduced Early Harvest PdfReports.AddText2Table(table, "Reduced Early Harvest Excess Beets", normalFont, 3); PdfReports.AddText2Table(table, " ", normalFont, "right"); PdfReports.AddText2Table(table, " ", normalFont, "right"); PdfReports.AddText2Table(table, " ", normalFont, "right"); PdfReports.AddText2Table(table, " ", normalFont, "right"); PdfReports.AddText2Table(table, item.d_EH_tons_moved.ToString("#,#.0000;(#,#.0000)"), normalFont, "right"); //totalTons += item.d_RH_Tons; PdfReports.AddText2Table(table, " ", normalFont); PdfReports.AddText2Table(table, item.d_EH_amt_moved.ToString("#,#.00;(#,#.00)"), normalFont, "right"); //totalGross += item.d_RH_Gross_Pay; PdfReports.AddText2Table(table, " ", normalFont, "right"); //totalDeductions += item.d_Deduct_Total; PdfReports.AddText2Table(table, item.d_EH_amt_moved.ToString("#,#.00;(#,#.00)"), normalFont, "right"); //totalNet += item.d_Total_Net; PdfReports.AddText2Table(table, " ", normalFont); // Reduced Regular Harvest PdfReports.AddText2Table(table, "Reduced Regular Harvest Excess Beets", normalFont, 3); PdfReports.AddText2Table(table, " ", normalFont, "right"); PdfReports.AddText2Table(table, " ", normalFont, "right"); PdfReports.AddText2Table(table, " ", normalFont, "right"); PdfReports.AddText2Table(table, " ", normalFont, "right"); PdfReports.AddText2Table(table, item.d_RH_tons_moved.ToString("#,#.0000;(#,#.0000)"), normalFont, "right"); //totalTons += item.d_RH_Tons; PdfReports.AddText2Table(table, " ", normalFont); PdfReports.AddText2Table(table, item.d_RH_amt_moved.ToString("#,#.00;(#,#.00)"), normalFont, "right"); //totalGross += item.d_RH_Gross_Pay; PdfReports.AddText2Table(table, " ", normalFont, "right"); //totalDeductions += item.d_Deduct_Total; PdfReports.AddText2Table(table, item.d_RH_amt_moved.ToString("#,#.00;(#,#.00)"), normalFont, "right"); //totalNet += item.d_Total_Net; PdfReports.AddText2Table(table, " ", normalFont); // ======================================================= // Grower / Landowner NET Split // ======================================================= PdfReports.AddText2Table(table, " ", normalFont, 9); PdfReports.AddText2Table(table, "Grower Net", labelFont, 2); totalGrowerNet += item.d_groAmount; PdfReports.AddText2Table(table, item.d_groAmount.ToString("N2"), normalFont, "right"); PdfReports.AddText2Table(table, " ", normalFont); PdfReports.AddText2Table(table, " ", normalFont, 9); PdfReports.AddText2Table(table, "Landowner Net", labelFont, 2); totalLandownerNet += item.d_ldoAmount; PdfReports.AddText2Table(table, item.d_ldoAmount.ToString("N2"), normalFont, "right"); PdfReports.AddText2Table(table, " ", normalFont); // BLANK LINE PdfReports.AddText2Table(table, " ", normalFont, 13); pgEvent.HeaderTableLayout = _primaryTableLayout; PdfReports.AddTableNoSplit(document, pgEvent, table); pgEvent.HeaderTableLayout = null; //================================================================ // Add Deduction information //================================================================ table = PdfReports.CreateTable(_primaryTableLayout, 1); PdfReports.AddText2Table(table, " ", labelFont, 4); PdfReports.AddText2Table(table, "Deduction", labelFont, "left", 4); PdfReports.AddText2Table(table, "Payment", labelFont, "left", 2); PdfReports.AddText2Table(table, "Amount", labelFont, "center"); PdfReports.AddText2Table(table, " ", labelFont, 2); var contractDeductions = from deduction in deductionList where deduction.Contract_Number == item.i_ContractNumber && deduction.Payment_Number <= item.i_PaymentNumber orderby deduction.Payment_Number, deduction.Deduction_Number select deduction; foreach (TransDeductionListItem dedItem in contractDeductions) { if (dedItem.Amount != 0) { PdfReports.AddText2Table(table, " ", labelFont, 4); PdfReports.AddText2Table(table, dedItem.Deduction_Desc, normalFont, "left", 4); PdfReports.AddText2Table(table, dedItem.Payment_Description, normalFont, "left", 2); PdfReports.AddText2Table(table, dedItem.Amount.ToString("$#,##0.00"), normalFont, "right"); PdfReports.AddText2Table(table, " ", labelFont, 2); } } PdfReports.AddText2Table(table, " ", normalFont, 13); } // BLANK LINE PdfReports.AddText2Table(table, " ", normalFont, 13); PdfReports.AddTableNoSplit(document, pgEvent, table); table = PdfReports.CreateTable(_primaryTableLayout, 1); // ====================================================== // Close document // ====================================================== if (document != null) { table = PdfReports.CreateTable(_primaryTableLayout, 1); AddTotals(ref writer, ref document, ref table, labelFont, normalFont, totalTons, totalEHPrem, totalGross, totalDeductions, totalNet, checkAmount, payeeNumber, totalGrowerNet, totalLandownerNet, pgEvent); AddFooter(ref writer, ref document, normalFont, rptFooter, pgEvent); pgEvent.IsDocumentClosing = true; document.Close(); document = null; } if (writer == null) { // Warn that we have no data. WSCIEMP.Common.CWarning warn = new WSCIEMP.Common.CWarning("No records matched your report criteria."); throw (warn); } } catch (Exception ex) { string errMsg = "document is null: " + (document == null).ToString() + "; " + "writer is null: " + (writer == null).ToString(); WSCIEMP.Common.CException wscex = new WSCIEMP.Common.CException(METHOD_NAME + errMsg, ex); throw (wscex); } finally { if (document != null) { pgEvent.IsDocumentClosing = true; document.Close(); } if (writer != null) { writer.Close(); } } }