private static void ReportBuilder(int paymentCropYear, string filePath) { const string METHOD_NAME = "ReportBuilder"; const string QUOTE = "\""; try { using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["BeetConn"].ToString())) { List <List1099ExportItem> stateList = WSCPayment.GetBeet1099Export(paymentCropYear); using (StreamWriter sw = new StreamWriter(filePath, false)) { foreach (List1099ExportItem state in stateList) { //SHID, TaxID, Business Name, Address 1, Address 2, City, State, Zip, Dollars sw.Write(QUOTE + state.SHID + QUOTE + ","); sw.Write(QUOTE + state.TaxID + QUOTE + ","); sw.Write(QUOTE + state.BusName + QUOTE + ","); sw.Write(QUOTE + state.Address1 + QUOTE + ","); sw.Write(QUOTE + state.Address2 + QUOTE + ","); sw.Write(QUOTE + state.TaxCity + QUOTE + ","); sw.Write(QUOTE + state.TaxState + QUOTE + ","); sw.Write(QUOTE + state.TaxZip + QUOTE + ","); sw.Write(QUOTE + state.TaxDollars + QUOTE + Environment.NewLine); } sw.Close(); } } } catch (Exception ex) { WSCIEMP.Common.CException wscex = new WSCIEMP.Common.CException(MOD_NAME + METHOD_NAME, ex); throw (wscex); } }
private void PaymentDescriptionSave(Label lblPayNum, DropDownList ddlFinished, DropDownList ddlRequired, TextBox txtTransmittalDate, TextBox txtPaymentDesc, TextBox txtPaymentDescID) { try { // validate data if (txtTransmittalDate.Text.Length > 0) { if (!Common.CodeLib.IsDate(txtTransmittalDate.Text)) { WSCIEMP.Common.CWarning warn = new WSCIEMP.Common.CWarning("If you enter a Transmittal Date for payment number " + lblPayNum.Text + ", it must be a valid date (mm/dd/yyyy)."); throw warn; } } WSCSecurity auth = Globals.SecurityState; WSCPayment.PaymentDescriptionSave(Int32.Parse(txtPaymentDescID.Text), Int32.Parse(lblPayNum.Text), _cropYear, txtPaymentDesc.Text, (Common.UILib.GetDropDownText(ddlRequired) == "Yes" ? true : false), (Common.UILib.GetDropDownText(ddlFinished) == "Yes" ? true : false), txtTransmittalDate.Text, auth.UserName); } catch (Exception ex) { Common.CException wex = new Common.CException("PaymentDescription.PaymentDescriptionSave", ex); throw (wex); } }
private void ShowPayeeInformation(PdfPTable table, int contractNumber, int cropYear, bool splitRetain, bool splitChemical) { const string METHOD_NAME = "rptContractPayeeSummary.ShowPayeeInformation"; try { Paragraph p = new Paragraph("", _normalFont); using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["BeetConn"].ToString())) { using (SqlDataReader dr = WSCPayment.RptContractPayeeSummary2(conn, contractNumber, cropYear)) { while (dr.Read()) { if (dr.GetInt16(dr.GetOrdinal("PayeeNumber")) == 1) { Phrase phrase = new Phrase("1st Payee: ", _labelFont); p.Add(phrase); phrase = new Phrase(dr.GetString(dr.GetOrdinal("PayeeName")) + "\n", _normalFont); p.Add(phrase); phrase = new Phrase(dr.GetFloat(dr.GetOrdinal("SplitPercent")).ToString("##.0000") + "%" + "\n", _normalFont); p.Add(phrase); phrase = new Phrase("Mailed To: ", _labelFont); p.Add(phrase); phrase = new Phrase(dr.GetString(dr.GetOrdinal("AddressNumber")) + " " + dr.GetString(dr.GetOrdinal("BusinessName")), _normalFont); p.Add(phrase); phrase = new Phrase(" Split Retains: ", _labelFont); p.Add(phrase); phrase = new Phrase((splitRetain ? "Y" : "N"), _normalFont); p.Add(phrase); phrase = new Phrase(" Split Chemicals: ", _labelFont); p.Add(phrase); phrase = new Phrase((splitChemical ? "Y" : "N") + "\n", _normalFont); p.Add(phrase); } else { Phrase phrase = new Phrase("2nd Payee: ", _labelFont); p.Add(phrase); phrase = new Phrase(dr.GetString(dr.GetOrdinal("PayeeName")) + "\n", _normalFont); p.Add(phrase); phrase = new Phrase(dr.GetFloat(dr.GetOrdinal("SplitPercent")).ToString("##.0000") + "%" + "\n", _normalFont); p.Add(phrase); phrase = new Phrase("Mailed To: ", _labelFont); p.Add(phrase); phrase = new Phrase(dr.GetString(dr.GetOrdinal("AddressNumber")) + " " + dr.GetString(dr.GetOrdinal("BusinessName")) + "\n", _normalFont); p.Add(phrase); } } PdfReports.AddText2Table(table, p, _primaryTableLayout.Length); } } } catch (Exception ex) { WSCIEMP.Common.CException wscex = new WSCIEMP.Common.CException(METHOD_NAME, ex); throw (wscex); } }
protected void btnCalculate_Click(object sender, EventArgs e) { const string METHOD_NAME = "btnCalculate_Click"; try { Decimal qcBeetPaymentPerTon = 0, oldNorthBeetPaymentPerTon = 0, oldSouthBeetPaymentPerTon = 0; string sugarContent, slmPct, netReturn; int cropYear = Convert.ToInt32(ddlCropYear.SelectedItem.Text); sugarContent = txtSugarContent.Text; if (sugarContent.Length == 0) { Common.CWarning warn = new Common.CWarning("Please enter a Sugar Content."); throw (warn); } if (!Common.CodeLib.IsNumeric(sugarContent)) { Common.CWarning warn = new Common.CWarning("Please enter a number for Sugar Content, like 16.54."); throw (warn); } slmPct = txtSLM.Text; if (slmPct.Length == 0) { Common.CWarning warn = new Common.CWarning("Please enter a SLM value."); throw (warn); } if (!Common.CodeLib.IsNumeric(slmPct)) { Common.CWarning warn = new Common.CWarning("Please enter a number for SLM, like 1.60."); throw (warn); } netReturn = txtNetReturn.Text; if (netReturn.Length == 0) { Common.CWarning warn = new Common.CWarning("Please enter a Net Return."); throw (warn); } if (!Common.CodeLib.IsNumeric(netReturn)) { Common.CWarning warn = new Common.CWarning("Please enter a number for Net Return, like 24.55."); throw (warn); } using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["BeetConn"].ToString())) { WSCPayment.CalculatePayment(conn, Convert.ToDecimal(sugarContent), Convert.ToDecimal(slmPct), Convert.ToDecimal(netReturn), cropYear, ref qcBeetPaymentPerTon, ref oldNorthBeetPaymentPerTon, ref oldSouthBeetPaymentPerTon); lblQCPayment.Text = "$" + qcBeetPaymentPerTon.ToString(); } } catch (System.Exception ex) { Common.CException wex = new Common.CException(MOD_NAME + METHOD_NAME, ex); ((PrimaryTemplate)Page.Master).ShowWarning(ex); } }
private void FillGridPayDescStation() { const string METHOD_NAME = "FillGridPayDescStation"; bool isShidSearch = false; try { grdPayDescStation.SelectedIndex = -1; int description_station_id = 0; string description_id_list = ""; int factory_no = 0; if (lstFactory.SelectedIndex != -1) { factory_no = Convert.ToInt32(Common.UILib.GetListValues(lstFactory)); } string station_no_list = _stationList; string contract_no_list = _contractList; string payment_no_list = _paymentList; int icrop_year = Convert.ToInt32(ddlCropYear.Text); string Shid = txtSHID.Text.Replace(" ", "").Trim(); if (Shid != "") { lstFactory.SelectedIndex = -1; lstStation.Items.Clear(); isShidSearch = true; } using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["BeetConn"].ToString())) { using (SqlDataReader dr = WSCPayment.GetPaymentDescriptionContract(conn, description_station_id, description_id_list, factory_no, station_no_list, contract_no_list, payment_no_list, Shid, icrop_year)) { grdPayDescStation.DataSource = dr; grdPayDescStation.DataBind(); if (isShidSearch) { lstContract.Items.Clear(); foreach (GridViewRow row in grdPayDescStation.Rows) { ListItem item = new ListItem( row.Cells[(int)grdPayDescStationColumns.pdecnt_contract_no].Text, row.Cells[(int)grdPayDescStationColumns.pdecnt_contract_no].Text ); lstContract.Items.Add(item); lstContract.Items[lstContract.Items.Count - 1].Selected = true; } } } } } catch (Exception ex) { Common.CException wex = new Common.CException(MOD_NAME + METHOD_NAME, ex); throw (wex); } }
public string ReportPackager(int cropYear, DateTime reportDate, string shid, bool isActive, string fileName, string logoUrl, string pdfTempfolder, DateTime activityFromDate, DateTime activityToDate, bool isLienInfoWanted) { const string METHOD_NAME = "rptEquityStatement.ReportPackager: "; DirectoryInfo pdfDir = null; FileInfo[] pdfFiles = null; string filePath = ""; try { pdfDir = new DirectoryInfo(pdfTempfolder); // Build the output file name by getting a list of all PDF files // that begin with this session ID: use this as a name incrementer. pdfFiles = pdfDir.GetFiles(fileName + "*.pdf"); fileName += "_" + Convert.ToString(pdfFiles.Length + 1) + ".pdf"; filePath = pdfDir.FullName + @"\" + fileName; try { using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["BeetConn"].ToString())) { if (String.IsNullOrEmpty(shid)) { shid = null; } using (SqlDataReader dr = WSCPayment.GetEquityStatement(conn, cropYear, shid, isActive, activityFromDate, activityToDate, isLienInfoWanted)) { using (System.IO.FileStream fs = new FileStream(filePath, System.IO.FileMode.Create, System.IO.FileAccess.Write, System.IO.FileShare.Read)) { ReportBuilder(dr, cropYear, reportDate, logoUrl, fs); } } } } catch (System.Exception ex) { string errMsg = "cropYear: " + cropYear.ToString(); WSCIEMP.Common.CException wscEx = new WSCIEMP.Common.CException(METHOD_NAME + errMsg, ex); throw (wscEx); } return(filePath); } catch (System.Exception ex) { string errMsg = "cropYear: " + cropYear.ToString(); WSCIEMP.Common.CException wscEx = new WSCIEMP.Common.CException(METHOD_NAME + errMsg, ex); throw (wscEx); } }
public static string ReportPackager( int cropYear, int paymentNumber, string paymentDescription, string fromDate, string toDate, string statementDate, string factoryList, string stationList, string contractList, bool isCumulative, string fileName, string logoUrl, string pdfTempfolder) { const string METHOD_NAME = "rptTransmittal.ReportPackager: "; DirectoryInfo pdfDir = null; FileInfo[] pdfFiles = null; string filePath = ""; try { pdfDir = new DirectoryInfo(pdfTempfolder); // Build the output file name by getting a list of all PDF files // that begin with this session ID: use this as a name incrementer. pdfFiles = pdfDir.GetFiles(fileName + "*.pdf"); fileName += "_" + Convert.ToString(pdfFiles.Length + 1) + ".pdf"; filePath = pdfDir.FullName + @"\" + fileName; try { using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["BeetConn"].ToString())) { using (SqlDataReader dr = WSCPayment.GetTransmittalPayment(conn, cropYear, paymentNumber, factoryList, stationList, contractList, isCumulative)) { using (System.IO.FileStream fs = new FileStream(filePath, System.IO.FileMode.Create, System.IO.FileAccess.Write, System.IO.FileShare.Read)) { ReportBuilder(dr, cropYear, paymentNumber, paymentDescription, fromDate, toDate, statementDate, isCumulative, logoUrl, fs); } } } } catch (System.Exception ex) { string errMsg = "cropYear: " + cropYear.ToString(); WSCIEMP.Common.CException wscEx = new WSCIEMP.Common.CException(METHOD_NAME + errMsg, ex); throw (wscEx); } return(filePath); } catch (System.Exception ex) { string errMsg = "cropYear: " + cropYear.ToString() + "; " + "Payment Number: " + paymentNumber.ToString(); WSCIEMP.Common.CException wscEx = new WSCIEMP.Common.CException(METHOD_NAME + errMsg, ex); throw (wscEx); } }
public static string ReportPackager(int cropYear, DateTime letterDate, DateTime deadlineDate, string factoryList, string stationList, string contractList, string fileName, string logoUrl, string pdfTempfolder) { const string METHOD_NAME = "ReportPackager"; DirectoryInfo pdfDir = null; FileInfo[] pdfFiles = null; string filePath = ""; try { pdfDir = new DirectoryInfo(pdfTempfolder); // Build the output file name by getting a list of all PDF files // that begin with this session ID: use this as a name incrementer. pdfFiles = pdfDir.GetFiles(fileName + "*.pdf"); fileName += "_" + Convert.ToString(pdfFiles.Length + 1) + ".pdf"; filePath = pdfDir.FullName + @"\" + fileName; try { using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["BeetConn"].ToString())) { using (SqlDataReader dr = WSCPayment.GetLandownerLetter(conn, cropYear, factoryList, stationList, contractList)) { //rptLandownerLetterHelper ldoHelper = new rptLandownerLetterHelper(); using (System.IO.FileStream fs = new FileStream(filePath, System.IO.FileMode.Create, System.IO.FileAccess.Write, System.IO.FileShare.Read)) { //ldoHelper.ReportBuilder(page, dr, cropYear, letterDate, deadlineDate, fs); ReportBuilder(dr, cropYear, letterDate, deadlineDate, logoUrl, fs); } } } } catch (System.Exception ex) { string errMsg = "cropYear: " + cropYear.ToString(); WSCIEMP.Common.CException wscEx = new WSCIEMP.Common.CException(MOD_NAME + METHOD_NAME + errMsg, ex); throw (wscEx); } return(filePath); } catch (System.Exception ex) { string errMsg = "cropYear: " + cropYear.ToString(); WSCIEMP.Common.CException wscEx = new WSCIEMP.Common.CException(MOD_NAME + METHOD_NAME + errMsg, ex); throw (wscEx); } }
private void DoProcessPayment() { const string METHOD_NAME = "DoProcessPayment"; try { int factoryID = Convert.ToInt32(Common.UILib.GetListValues(lstFactory)); int paymentNumber = Convert.ToInt32(Common.UILib.GetListValues(lstPayment)); int cropYear = Convert.ToInt32(Common.UILib.GetDropDownText(ddlCropYear)); using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["BeetConn"].ToString())) { WSCPayment.PostCalculatePayment(conn, factoryID, paymentNumber, cropYear, Globals.SecurityState.UserName); } Common.AppHelper.ShowConfirmation((HtmlGenericControl)Master.FindControl("divWarning"), "Payment Processing Complete!"); } catch (Exception ex) { Common.CException wex = new Common.CException(MOD_NAME + METHOD_NAME, ex); throw (wex); } }
private static void ReportBuilder(int paymentCropYear, bool isPatronage, string paymentType, string paymentDate, string filePath, ref string warnings) { const string METHOD_NAME = "rptEquityPayment.ReportBuilder: "; const string QUOTE = "\""; // Build the Equity Payment information. try { using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["BeetConn"].ToString())) { System.Data.SqlClient.SqlParameter outParam = null; using (SqlDataReader dr = WSCPayment.GetEquityPaymentExport(conn, paymentCropYear, isPatronage, paymentType, paymentDate, ref outParam)) { using (StreamWriter sw = new StreamWriter(filePath, false)) { while (dr.Read()) { sw.Write(dr.GetInt32(dr.GetOrdinal("Pay_Crop_Year")).ToString() + ","); sw.Write(QUOTE + dr.GetString(dr.GetOrdinal("Pay_SHID")) + QUOTE + ","); sw.Write(dr.GetInt32(dr.GetOrdinal("Pay_Address_No")).ToString() + ","); sw.Write(dr.GetInt32(dr.GetOrdinal("Pay_Number")) + ","); sw.Write(QUOTE + dr.GetString(dr.GetOrdinal("Pay_Contact_Name")) + QUOTE + ","); sw.Write(QUOTE + dr.GetString(dr.GetOrdinal("Pay_Business_Name")) + QUOTE + ","); sw.Write(QUOTE + dr.GetString(dr.GetOrdinal("Pay_Adr_Line_1")) + QUOTE + ","); sw.Write(QUOTE + dr.GetString(dr.GetOrdinal("Pay_Adr_Line_2")) + QUOTE + ","); sw.Write(QUOTE + dr.GetString(dr.GetOrdinal("Pay_Adr_City")) + QUOTE + ","); sw.Write(QUOTE + dr.GetString(dr.GetOrdinal("Pay_Adr_State")) + QUOTE + ","); sw.Write(QUOTE + dr.GetString(dr.GetOrdinal("Pay_Adr_Zip_Code")) + QUOTE + ","); sw.Write(QUOTE + dr.GetString(dr.GetOrdinal("Payee_Name")) + QUOTE + ","); sw.WriteLine(dr.GetDecimal(dr.GetOrdinal("Payment_Amount"))); } dr.Close(); warnings = outParam.Value.ToString(); sw.Close(); } } } } catch (Exception ex) { WSCIEMP.Common.CException wscex = new WSCIEMP.Common.CException(METHOD_NAME, ex); throw (wscex); } }
private static void ReportBuilder(SqlDataReader drPay, int cropYear, int paymentNumber, string paymentDescription, string fromDate, string toDate, string statementDate, bool isCumulative, string logoUrl, System.IO.FileStream fs) { const string METHOD_NAME = "rptTransmittal.ReportBuilder: "; const int resetFlag = 0; Document document = null; PdfWriter writer = null; PdfPTable table = null; TransmittalReportEvent pgEvent = null; iTextSharp.text.Image imgLogo = null; int contractNumber = 0; int lastContractNumber = 0; int payeeNumber = 0; int lastPayeeNumber = 0; decimal ytdEHBonus = 0; decimal ytdEHAmount = 0; decimal ytdRHAmount = 0; decimal ytdDeductions = 0; decimal ytdEHAmountMoved = 0; decimal ytdRHAmountMoved = 0; decimal ytdNet = 0; decimal curSLM = 0; decimal pctPaid = 0; decimal actualSugar = 0; string rptTitle = "Western Sugar Cooperative Payment Transmittal"; 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 { using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["BeetConn"].ToString())) { while (drPay.Read()) { try { contractNumber = Convert.ToInt32(drPay.GetString(drPay.GetOrdinal("Contract_Number"))); payeeNumber = drPay.GetInt16(drPay.GetOrdinal("Payee_Number")); if (document == null) { lastContractNumber = contractNumber; lastPayeeNumber = payeeNumber; // 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) pgEvent = new TransmittalReportEvent(); pgEvent.FillEvent(drPay, cropYear, statementDate, resetFlag, rptTitle, paymentDescription, imgLogo); writer.PageEvent = pgEvent; // Open the document document.Open(); } else { if (contractNumber != lastContractNumber || payeeNumber != lastPayeeNumber) { ytdEHBonus = 0; ytdEHAmount = 0; ytdRHAmount = 0; ytdDeductions = 0; ytdNet = 0; ytdEHAmountMoved = 0; ytdRHAmountMoved = 0; lastContractNumber = contractNumber; if (payeeNumber != lastPayeeNumber) { lastPayeeNumber = payeeNumber; } pgEvent.FillEvent(drPay, cropYear, statementDate, resetFlag, rptTitle, paymentDescription, imgLogo); document.NewPage(); } } // ======================================================= // Add Payment Detail // ======================================================= table = PdfReports.CreateTable(_primaryTableLayout, 1); PdfReports.AddText2Table(table, drPay.GetString(drPay.GetOrdinal("Payment_Description")) + " Payment", labelFont, 8); // Header PdfReports.AddText2Table(table, " ", labelFont); PdfReports.AddText2Table(table, "SLM", labelFont, "center"); PdfReports.AddText2Table(table, "% Sugar", labelFont); PdfReports.AddText2Table(table, "% Paid", labelFont); PdfReports.AddText2Table(table, "Price/Ton", labelFont); PdfReports.AddText2Table(table, "Tons", labelFont); PdfReports.AddText2Table(table, "YTD Amount", labelFont); PdfReports.AddText2Table(table, "Current Amount", labelFont); // EH Premium PdfReports.AddText2Table(table, "Early Harvest Premium", labelFont, "left"); PdfReports.AddText2Table(table, " ", labelFont); PdfReports.AddText2Table(table, " ", labelFont); PdfReports.AddText2Table(table, " ", labelFont); PdfReports.AddText2Table(table, " ", labelFont); PdfReports.AddText2Table(table, " ", labelFont); if (isCumulative) { ytdEHBonus += drPay.GetDecimal(drPay.GetOrdinal("EH_Bonus")); } else { ytdEHBonus = drPay.GetDecimal(drPay.GetOrdinal("ncYtdEhBonus")); } PdfReports.AddText2Table(table, ytdEHBonus.ToString("$#,##0.00"), normalFont); PdfReports.AddText2Table(table, drPay.GetDecimal(drPay.GetOrdinal("EH_Bonus")).ToString("$#,##0.00"), normalFont); // Early Harvest actualSugar = drPay.GetDecimal(drPay.GetOrdinal("EH_Sugar")); curSLM = drPay.GetDecimal(drPay.GetOrdinal("EH_SLM")); pctPaid = drPay.GetDecimal(drPay.GetOrdinal("Pct_EH_Paid")); PdfReports.AddText2Table(table, "Early Harvest ", labelFont, "left"); if (drPay.GetDecimal(drPay.GetOrdinal("EH_SLM")) != 0) { PdfReports.AddText2Table(table, curSLM.ToString("N4"), normalFont, "center"); } else { PdfReports.AddText2Table(table, "------", normalFont, "center"); } if (drPay.GetDecimal(drPay.GetOrdinal("EH_Sugar")) != 0) { PdfReports.AddText2Table(table, actualSugar.ToString("N2"), normalFont); } else { PdfReports.AddText2Table(table, "------", normalFont); } if (drPay.GetDecimal(drPay.GetOrdinal("Pct_EH_Paid")) != 0) { PdfReports.AddText2Table(table, pctPaid.ToString("N3"), normalFont); } else { PdfReports.AddText2Table(table, "------", normalFont); } if (drPay.GetDecimal(drPay.GetOrdinal("EH_Price")) != 0) { PdfReports.AddText2Table(table, drPay.GetDecimal(drPay.GetOrdinal("EH_Price")).ToString("$#,##0.000"), normalFont); } else { PdfReports.AddText2Table(table, "------", normalFont); } if (drPay.GetDecimal(drPay.GetOrdinal("EH_Tons")) != 0 || drPay.GetDecimal(drPay.GetOrdinal("EH_tons_moved")) != 0) { PdfReports.AddText2Table(table, (drPay.GetDecimal(drPay.GetOrdinal("EH_Tons")) - drPay.GetDecimal(drPay.GetOrdinal("EH_tons_moved"))).ToString("N4"), normalFont); } else { PdfReports.AddText2Table(table, "------", normalFont); } if (isCumulative) { ytdEHAmount += drPay.GetDecimal(drPay.GetOrdinal("EH_Gross_Pay")) - drPay.GetDecimal(drPay.GetOrdinal("EH_amt_moved")); } else { ytdEHAmount = drPay.GetDecimal(drPay.GetOrdinal("ncYtdEhGrossPay")) - drPay.GetDecimal(drPay.GetOrdinal("ncYtdEhAmtMoved")); } PdfReports.AddText2Table(table, ytdEHAmount.ToString("$#,##0.00"), normalFont); PdfReports.AddText2Table(table, (drPay.GetDecimal(drPay.GetOrdinal("EH_Gross_Pay")) - drPay.GetDecimal(drPay.GetOrdinal("EH_amt_moved"))).ToString("$#,##0.00"), normalFont); // Regular Harvest actualSugar = drPay.GetDecimal(drPay.GetOrdinal("RH_Sugar")); curSLM = drPay.GetDecimal(drPay.GetOrdinal("RH_SLM")); pctPaid = drPay.GetDecimal(drPay.GetOrdinal("Pct_RH_Paid")); PdfReports.AddText2Table(table, "Regular Harvest ", labelFont, "left"); PdfReports.AddText2Table(table, curSLM.ToString("N4"), normalFont, "center"); PdfReports.AddText2Table(table, actualSugar.ToString("N2"), normalFont); PdfReports.AddText2Table(table, pctPaid.ToString("N3"), normalFont); PdfReports.AddText2Table(table, drPay.GetDecimal(drPay.GetOrdinal("RH_Price")).ToString("$#,##0.000"), normalFont); PdfReports.AddText2Table(table, (drPay.GetDecimal(drPay.GetOrdinal("RH_Tons")) - drPay.GetDecimal(drPay.GetOrdinal("RH_Tons_moved"))).ToString("N4"), normalFont); if (isCumulative) { ytdRHAmount += drPay.GetDecimal(drPay.GetOrdinal("RH_Gross_Pay")) - drPay.GetDecimal(drPay.GetOrdinal("RH_amt_moved")); } else { ytdRHAmount = drPay.GetDecimal(drPay.GetOrdinal("ncYtdRhGrossPay")) - drPay.GetDecimal(drPay.GetOrdinal("ncYtdRhAmtMoved")); } // YTD Amount PdfReports.AddText2Table(table, ytdRHAmount.ToString("$#,##0.00"), normalFont); // Current Amount PdfReports.AddText2Table(table, (drPay.GetDecimal(drPay.GetOrdinal("RH_Gross_Pay")) - drPay.GetDecimal(drPay.GetOrdinal("RH_amt_moved"))).ToString("$#,##0.00"), normalFont); // Reduced Early Harvest PdfReports.AddText2Table(table, "Reduced Early Harvest Excess Beets ", labelFont, "left", 4); PdfReports.AddText2Table(table, " ", normalFont); PdfReports.AddText2Table(table, drPay.GetDecimal(drPay.GetOrdinal("EH_tons_moved")).ToString("#,#.0000;(#,#.0000)"), normalFont); if (isCumulative) { ytdEHAmountMoved += drPay.GetDecimal(drPay.GetOrdinal("EH_amt_moved")); } else { ytdEHAmountMoved = drPay.GetDecimal(drPay.GetOrdinal("ncYtdEhAmtMoved")); } PdfReports.AddText2Table(table, ytdEHAmountMoved.ToString("$#,#.00;$(#,#.00)"), normalFont); PdfReports.AddText2Table(table, drPay.GetDecimal(drPay.GetOrdinal("EH_amt_moved")).ToString("$#,#.00;$(#,#.00)"), normalFont); // Reduced Regular Harvest PdfReports.AddText2Table(table, "Reduced Regular Harvest Excess Beets", labelFont, "left", 4); PdfReports.AddText2Table(table, " ", normalFont); PdfReports.AddText2Table(table, drPay.GetDecimal(drPay.GetOrdinal("RH_tons_moved")).ToString("#,#.0000;(#,#.0000)"), normalFont); if (isCumulative) { ytdRHAmountMoved += drPay.GetDecimal(drPay.GetOrdinal("RH_amt_moved")); } else { ytdRHAmountMoved = drPay.GetDecimal(drPay.GetOrdinal("ncYtdRhAmtMoved")); } PdfReports.AddText2Table(table, ytdRHAmountMoved.ToString("$#,#.00;$(#,#.00)"), normalFont); PdfReports.AddText2Table(table, drPay.GetDecimal(drPay.GetOrdinal("RH_amt_moved")).ToString("$#,#.00;$(#,#.00)"), normalFont); PdfReports.AddText2Table(table, " ", normalFont, 8); // Total lines // YTD Amount PdfReports.AddText2Table(table, " ", normalFont, 4); PdfReports.AddText2Table(table, "Total Gross Amount: ", labelFont, "right", 2); PdfReports.AddText2Table(table, ((ytdEHBonus + ytdEHAmount + ytdRHAmount) + ytdEHAmountMoved + ytdRHAmountMoved //+ drPay.GetDecimal(drPay.GetOrdinal("ncYtdEhAmtMoved")) //+ drPay.GetDecimal(drPay.GetOrdinal("ncYtdRhAmtMoved")) ).ToString("#,##0.00"), normalFont); // Current Amount PdfReports.AddText2Table(table, (drPay.GetDecimal(drPay.GetOrdinal("EH_Bonus")) + drPay.GetDecimal(drPay.GetOrdinal("EH_Gross_Pay")) + drPay.GetDecimal(drPay.GetOrdinal("RH_Gross_Pay")) //+ //drPay.GetDecimal(drPay.GetOrdinal("EH_amt_moved")) + //drPay.GetDecimal(drPay.GetOrdinal("RH_amt_moved")) ).ToString("#,##0.00"), normalFont); PdfReports.AddText2Table(table, " ", normalFont, 5); PdfReports.AddText2Table(table, "Deduction Total: ", labelFont, "right"); if (isCumulative) { ytdDeductions += drPay.GetDecimal(drPay.GetOrdinal("Deduct_Total")); } else { ytdDeductions = drPay.GetDecimal(drPay.GetOrdinal("ncYtdDeductTotal")); } PdfReports.AddText2Table(table, ytdDeductions.ToString("#,##0.00"), normalFont); PdfReports.AddText2Table(table, drPay.GetDecimal(drPay.GetOrdinal("Deduct_Total")).ToString("#,##0.00"), normalFont); PdfReports.AddText2Table(table, " ", normalFont, 5); PdfReports.AddText2Table(table, "Net Payment: ", labelFont, "right"); decimal currentNet = drPay.GetDecimal(drPay.GetOrdinal("EH_Bonus")) + drPay.GetDecimal(drPay.GetOrdinal("EH_Gross_Pay")) + drPay.GetDecimal(drPay.GetOrdinal("RH_Gross_Pay")) //drPay.GetDecimal(drPay.GetOrdinal("EH_amt_moved")) //drPay.GetDecimal(drPay.GetOrdinal("RH_amt_moved")) - drPay.GetDecimal(drPay.GetOrdinal("Deduct_Total")); if (isCumulative) { ytdNet += currentNet; } else { ytdNet = drPay.GetDecimal(drPay.GetOrdinal("ncYtdEhBonus")) + drPay.GetDecimal(drPay.GetOrdinal("ncYtdEhGrossPay")) + drPay.GetDecimal(drPay.GetOrdinal("ncYtdRhGrossPay")) //drPay.GetDecimal(drPay.GetOrdinal("ncYtdEhAmtMoved")) //drPay.GetDecimal(drPay.GetOrdinal("ncYtdRhAmtMoved")) - drPay.GetDecimal(drPay.GetOrdinal("ncYtdDeductTotal")); } PdfReports.AddText2Table(table, ytdNet.ToString("#,##0.00"), normalFont); PdfReports.AddText2Table(table, currentNet.ToString("#,##0.00"), normalFont); PdfReports.AddText2Table(table, " ", normalFont, 8); PdfReports.AddText2Table(table, " ", normalFont, 6); PdfReports.AddText2Table(table, "Grower Net: ", labelFont, "right"); PdfReports.AddText2Table(table, drPay.GetDecimal(drPay.GetOrdinal("Payment_Amount")).ToString("#,##0.00"), normalFont); PdfReports.AddText2Table(table, " ", normalFont, 6); PdfReports.AddText2Table(table, "Landowner Net: ", labelFont, "right"); PdfReports.AddText2Table(table, drPay.GetDecimal(drPay.GetOrdinal("Split_Payment")).ToString("#,##0.00"), normalFont); PdfReports.AddText2Table(table, " ", normalFont, 8); PdfReports.AddTableNoSplit(document, pgEvent, table); if (paymentNumber == drPay.GetInt16(drPay.GetOrdinal("Payment_Number"))) { //================================================================ // Add Deduction information //================================================================ table = PdfReports.CreateTable(_primaryTableLayout, 1); using (SqlDataReader drDed = WSCPayment.GetTransmittalDeduction(conn, cropYear, contractNumber, drPay.GetInt16(drPay.GetOrdinal("Payment_Number")), isCumulative)) { PdfReports.AddText2Table(table, "Deduction", labelFont, 5); PdfReports.AddText2Table(table, "Payment", labelFont); PdfReports.AddText2Table(table, "Amount", labelFont); PdfReports.AddText2Table(table, " ", labelFont); while (drDed.Read()) { PdfReports.AddText2Table(table, drDed.GetString(drDed.GetOrdinal("Deduction_Desc")), normalFont, 5); PdfReports.AddText2Table(table, drDed.GetString(drDed.GetOrdinal("Payment_Description")), normalFont); PdfReports.AddText2Table(table, drDed.GetDecimal(drDed.GetOrdinal("Amount")).ToString("$#,##0.00"), normalFont); PdfReports.AddText2Table(table, " ", labelFont); } PdfReports.AddText2Table(table, " ", normalFont, 8); PdfReports.AddTableNoSplit(document, pgEvent, table); } //================================================================ // Add Delivery information //================================================================ float[] deliveryLayout = new float[] { 110.8F, 110.8F, 55.4F, 110.8F, 55.4F, 55.4F, 55.4F }; table = PdfReports.CreateTable(deliveryLayout, 1); List <TransmittalDeliveryItem> deliveryList = WSCPayment.GetTransmittalDelivery(cropYear, contractNumber, paymentNumber, fromDate, toDate); PdfReports.AddText2Table(table, "Delivery Date", labelFont); PdfReports.AddText2Table(table, "First Net Pounds", labelFont); PdfReports.AddText2Table(table, "Tare %", labelFont); PdfReports.AddText2Table(table, "Final Net Lbs", labelFont); PdfReports.AddText2Table(table, "Sugar %", labelFont); PdfReports.AddText2Table(table, "SLM", labelFont); PdfReports.AddText2Table(table, "Loads", labelFont); foreach (TransmittalDeliveryItem deliveryDay in deliveryList) { PdfReports.AddText2Table(table, deliveryDay.Delivery_Date.ToShortDateString(), normalFont); PdfReports.AddText2Table(table, deliveryDay.First_Net_Pounds.ToString("###,###"), normalFont); PdfReports.AddText2Table(table, deliveryDay.Tare.ToString("N2"), normalFont); PdfReports.AddText2Table(table, deliveryDay.Final_Net_Pounds.ToString("###,###"), normalFont); PdfReports.AddText2Table(table, deliveryDay.Sugar_Content.ToString("N2"), normalFont); PdfReports.AddText2Table(table, deliveryDay.SLM_Pct.ToString("N4"), normalFont); PdfReports.AddText2Table(table, deliveryDay.Loads.ToString(), normalFont); } PdfReports.AddText2Table(table, " ", normalFont, 6); PdfReports.AddTableNoSplit(document, pgEvent, table); } } catch (System.Exception ex) { WSCIEMP.Common.CException wscEx = new WSCIEMP.Common.CException(METHOD_NAME, ex); throw (wscEx); } } } // ====================================================== // Close document // ====================================================== if (document != null) { 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) { document.Close(); } if (drPay != null) { if (!drPay.IsClosed) { drPay.Close(); } } if (writer != null) { writer.Close(); } } }
private static void ReportBuilder(int shid, int cropYear, int calYear, string logoUrl, FileStream fs) { const string METHOD_NAME = "rptBeetPaymentBreakdown.ReportBuilder: "; Document document = null; PdfWriter writer = null; PdfPTable table = null; BeetPaymentBreakdownEvent pgEvent = null; iTextSharp.text.Image imgLogo = null; int curShid = 0; int lastShid = 0; decimal grossAmt = 0; decimal netAmt = 0; string rptTitle = "Western Sugar Cooperative Beet Payments by Year"; 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 { List <BeetPaymentListItem> stateList = WSCPayment.RptBeetPayBreakdown(ConfigurationManager.ConnectionStrings["BeetConn"].ToString(), shid, cropYear, calYear); foreach (BeetPaymentListItem item in stateList) { curShid = item.SHID; 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); lastShid = curShid; grossAmt = 0; netAmt = 0; // Attach my override event handler(s) pgEvent = new BeetPaymentBreakdownEvent(); pgEvent.FillEvent(_primaryTableLayout, _hdrNames, curShid, item.PayeeName, rptTitle, imgLogo); writer.PageEvent = pgEvent; // Open the document document.Open(); table = PdfReports.CreateTable(_primaryTableLayout, 1); } if (curShid != lastShid) { // BLANK LINE PdfReports.AddText2Table(table, " ", normalFont, "center", 5); PdfReports.AddText2Table(table, grossAmt.ToString("c2"), labelFont, "right"); PdfReports.AddText2Table(table, netAmt.ToString("c2"), labelFont, "right"); PdfReports.AddText2Table(table, " ", normalFont, 13); PdfReports.AddTableNoSplit(document, pgEvent, table); lastShid = curShid; grossAmt = 0; netAmt = 0; pgEvent.FillEvent(_primaryTableLayout, _hdrNames, curShid, item.PayeeName, rptTitle, imgLogo); document.NewPage(); table = PdfReports.CreateTable(_primaryTableLayout, 1); } PdfReports.AddText2Table(table, item.CalendarYear.ToString(), normalFont, "center"); PdfReports.AddText2Table(table, item.CropYear.ToString(), normalFont, "center"); PdfReports.AddText2Table(table, item.PaymentNumber.ToString("N0"), normalFont, "center"); PdfReports.AddText2Table(table, item.PaymentDescription, normalFont, "left"); PdfReports.AddText2Table(table, item.TransmittalDate.ToString("MM/dd/yyyy"), normalFont, "center"); PdfReports.AddText2Table(table, item.GrossDollars.ToString("c2"), normalFont, "right"); PdfReports.AddText2Table(table, item.PaymentAmount.ToString("c2"), normalFont, "right"); grossAmt += item.GrossDollars; netAmt += item.PaymentAmount; } if (document != null) { // BLANK LINE PdfReports.AddText2Table(table, " ", normalFont, "center", 5); PdfReports.AddText2Table(table, grossAmt.ToString("c2"), labelFont, "right"); PdfReports.AddText2Table(table, netAmt.ToString("c2"), labelFont, "right"); PdfReports.AddText2Table(table, " ", normalFont, 13); PdfReports.AddTableNoSplit(document, pgEvent, table); } // ====================================================== // Close document // ====================================================== if (document != null) { 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(); } } }
public static string ReportPackager( int cropYear, string statementDate, string shid, string fromShid, string toShid, int paymentDescID, bool isCumulative, string footerText, string fileName, string logoUrl, string pdfTempfolder) { const string METHOD_NAME = "rptPaymentSummary.ReportPackager: "; DirectoryInfo pdfDir = null; FileInfo[] pdfFiles = null; string filePath = ""; try { pdfDir = new DirectoryInfo(pdfTempfolder); // Build the output file name by getting a list of all PDF files // that begin with this session ID: use this as a name incrementer. pdfFiles = pdfDir.GetFiles(fileName + "*.pdf"); fileName += "_" + Convert.ToString(pdfFiles.Length + 1) + ".pdf"; filePath = pdfDir.FullName + @"\" + fileName; try { // Because this report is built by data in one data set driving the selection of // data in a dependent dataset, all the data retrival has to be driven down to the // ReportBuilder. This is not the typical situation. if (shid.Length == 0 && fromShid.Length == 0 && toShid.Length == 0) { WSCIEMP.Common.CWarning warn = new WSCIEMP.Common.CWarning("Please enter SHID information before requesting a report."); throw (warn); } else { if (shid.Length > 0 && (fromShid.Length > 0 || toShid.Length > 0)) { WSCIEMP.Common.CWarning warn = new WSCIEMP.Common.CWarning("Please enter a single SHID or a SHID range, but not both."); throw (warn); } List <SHPaySumListItem> stateList = WSCPayment.GetPaymentSummary(ConfigurationManager.ConnectionStrings["BeetConn"].ToString(), cropYear, shid, fromShid, toShid, paymentDescID, isCumulative); if (stateList.Count != 0) { using (FileStream fs = new FileStream(filePath, FileMode.Create, FileAccess.Write)) { ReportBuilder(stateList, cropYear, statementDate, shid, fromShid, toShid, paymentDescID, isCumulative, footerText, logoUrl, fs); } } else { WSCIEMP.Common.CWarning warn = new WSCIEMP.Common.CWarning("SHID does not have the required transmittal records or rollup records to create a Payment Summary report."); throw (warn); } } } catch (System.Exception ex) { string errMsg = "cropYear: " + cropYear.ToString() + "; " + "SHID: " + shid + "; " + "From SHID: " + fromShid + "; " + "To SHID: " + toShid + "; " + "filePath: " + filePath + "; " + "Payment Desc ID: " + paymentDescID.ToString(); WSCIEMP.Common.CException wscEx = new WSCIEMP.Common.CException(METHOD_NAME + errMsg, ex); throw (wscEx); } return(filePath); } catch (System.Exception ex) { string errMsg = "cropYear: " + cropYear.ToString() + "; " + "SHID: " + shid + "; " + "From SHID: " + fromShid + "; " + "To SHID: " + toShid + "; " + "Payment Desc ID: " + paymentDescID.ToString(); WSCIEMP.Common.CException wscEx = new WSCIEMP.Common.CException(METHOD_NAME + errMsg, ex); throw (wscEx); } }
protected void btnSaveExcessPct_Click(object sender, EventArgs e) { const string METHOD_NAME = "btnSaveExcessPct_Click"; try { WSCSecurity auth = Globals.SecurityState; string userName = auth.UserName; string tmpValue = ""; // Iterate on each grid row and save that row back to the database using // the entered Excess Percentage. foreach (GridViewRow row in grdPayDescStation.Rows) { tmpValue = row.Cells[(int)grdPayDescStationColumns.pdecnt_description_contract_id].Text.Replace(" ", "0"); int pdecnt_description_contract_id = 0; if (!int.TryParse(tmpValue, out pdecnt_description_contract_id)) { Common.CWarning warn = new Common.CWarning("Cannot read grid value pdecnt_description_contract_id"); throw (warn); } tmpValue = row.Cells[(int)grdPayDescStationColumns.pdecnt_description_id].Text.Replace(" ", ""); int pdecnt_description_id = 0; if (tmpValue != "" && !int.TryParse(tmpValue, out pdecnt_description_id)) { Common.CWarning warn = new Common.CWarning("Cannot read grid value pdecnt_description_id"); throw (warn); } tmpValue = row.Cells[(int)grdPayDescStationColumns.pdecnt_factory_id].Text.Replace(" ", ""); int pdecnt_factory_id = 0; if (tmpValue != "" && !int.TryParse(tmpValue, out pdecnt_factory_id)) { Common.CWarning warn = new Common.CWarning("Cannot read grid value pdecnt_factory_id"); throw (warn); } tmpValue = row.Cells[(int)grdPayDescStationColumns.pdecnt_station_id].Text.Replace(" ", ""); int pdecnt_station_id = 0; if (tmpValue != "" && !int.TryParse(tmpValue, out pdecnt_station_id)) { Common.CWarning warn = new Common.CWarning("Cannot read grid value pdecnt_station_id"); throw (warn); } tmpValue = row.Cells[(int)grdPayDescStationColumns.pdecnt_contract_id].Text.Replace(" ", ""); int pdecnt_contract_id = 0; if (tmpValue != "" && !int.TryParse(tmpValue, out pdecnt_contract_id)) { Common.CWarning warn = new Common.CWarning("Cannot read grid value pdecnt_contract_id"); throw (warn); } tmpValue = Common.UILib.GetDropDownText(ddlCropYear); int pdecnt_icrop_year = Convert.ToInt32(tmpValue); tmpValue = txtExcessPct.Text; decimal pdecnt_excess_beet_pct = 0; if (!Decimal.TryParse(tmpValue, out pdecnt_excess_beet_pct)) { Common.CWarning warn = new Common.CWarning("Please enter a number for Excess Percent. This can be zero."); throw (warn); } tmpValue = row.Cells[(int)grdPayDescStationColumns.pdecnt_rowversion].Text.Replace(" ", ""); string pdecnt_rowversion = tmpValue; WSCPayment.PaymentDescriptionContractSave(pdecnt_description_contract_id, pdecnt_description_id, pdecnt_factory_id, pdecnt_station_id, pdecnt_contract_id, pdecnt_icrop_year, pdecnt_excess_beet_pct, userName, pdecnt_rowversion); FillGridPayDescStation(); } } catch (System.Exception ex) { Common.CException wex = new Common.CException(MOD_NAME + METHOD_NAME, ex); ((PrimaryTemplate)Page.Master).ShowWarning(ex); } }
public static void ReportBuilder(int cropYear, string factoryList, string stationList, string contractList, int paymentNumber, string paymentDescription, string fromDate, string toDate, string statementDate, bool isCumulative, string logoUrl, System.IO.FileStream fs) { const string METHOD_NAME = "rptGroTransmittal.ReportBuilder: "; const int resetFlag = 0; Document document = null; PdfWriter writer = null; PdfPTable table = null; iTextSharp.text.Image imgLogo = null; GroTransmittalEvent pgEvent = null; int contractNumber = 0; int lastContractNumber = 0; int payeeNumber = 0; int lastPayeeNumber = 0; decimal ytdEHBonus = 0; decimal ytdEHAmount = 0; decimal ytdRHAmount = 0; decimal ytdDeductions = 0; decimal ytdEHAmountMoved = 0; decimal ytdRHAmountMoved = 0; decimal ytdNet = 0; decimal curSLM = 0; decimal pctPaid = 0; decimal actualSugar = 0; string rptTitle = "Western Sugar Cooperative Payment Transmittal"; try { List <TransmittalPaymentItem> stateList = WSCPayment.GetTransmittalPayment(cropYear, paymentNumber, factoryList, stationList, contractList, isCumulative); int minContractNumber = stateList.Min(c => Convert.ToInt32(c.Contract_Number)); int maxContractNumber = stateList.Max(c => Convert.ToInt32(c.Contract_Number)); List <TransDeductionListItem> deductionList = WSCPayment.GetTransmittalDeduction2(ConfigurationManager.ConnectionStrings["BeetConn"].ToString(), cropYear, 0, paymentNumber, minContractNumber, maxContractNumber, isCumulative); using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["BeetConn"].ToString())) { foreach (TransmittalPaymentItem item in stateList) { try { contractNumber = Convert.ToInt32(item.Contract_Number); payeeNumber = item.Payee_Number; if (document == null) { lastContractNumber = contractNumber; lastPayeeNumber = payeeNumber; // 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); if (statementDate == null) { statementDate = WSCPayment.GetPaymentTransmittalDate(paymentNumber, cropYear); } // Attach my override event handler(s) pgEvent = new GroTransmittalEvent(); pgEvent.FillEvent(item, cropYear, statementDate, resetFlag, rptTitle, paymentDescription, imgLogo); writer.PageEvent = pgEvent; // Open the document document.Open(); } else { if (contractNumber != lastContractNumber || payeeNumber != lastPayeeNumber) { ytdEHBonus = 0; ytdEHAmount = 0; ytdRHAmount = 0; ytdDeductions = 0; ytdNet = 0; ytdEHAmountMoved = 0; ytdRHAmountMoved = 0; lastContractNumber = contractNumber; if (payeeNumber != lastPayeeNumber) { lastPayeeNumber = payeeNumber; } pgEvent.FillEvent(item, cropYear, statementDate, resetFlag, rptTitle, paymentDescription, imgLogo); document.NewPage(); } } // ======================================================= // Add Payment Detail // ======================================================= table = PdfReports.CreateTable(_primaryTableLayout, 1); PdfReports.AddText2Table(table, item.Payment_Description + " Payment", _labelFont, 8); // Header PdfReports.AddText2Table(table, " ", _labelFont); PdfReports.AddText2Table(table, "SLM", _labelFont, "center"); PdfReports.AddText2Table(table, "% Sugar", _labelFont); PdfReports.AddText2Table(table, "% Paid", _labelFont); PdfReports.AddText2Table(table, "Price/Ton", _labelFont); PdfReports.AddText2Table(table, "Tons", _labelFont); PdfReports.AddText2Table(table, "YTD Amount", _labelFont); PdfReports.AddText2Table(table, "Current Amount", _labelFont); // EH Premium PdfReports.AddText2Table(table, "Early Harvest Premium", _labelFont, "left"); PdfReports.AddText2Table(table, " ", _labelFont); PdfReports.AddText2Table(table, " ", _labelFont); PdfReports.AddText2Table(table, " ", _labelFont); PdfReports.AddText2Table(table, " ", _labelFont); PdfReports.AddText2Table(table, " ", _labelFont); if (isCumulative) { ytdEHBonus += item.EH_Bonus; } else { ytdEHBonus = item.YtdEhBonus; } PdfReports.AddText2Table(table, ytdEHBonus.ToString("$#,##0.00"), _normalFont); PdfReports.AddText2Table(table, item.EH_Bonus.ToString("$#,##0.00"), _normalFont); // Early Harvest actualSugar = item.EH_Sugar; curSLM = item.EH_SLM; pctPaid = item.Pct_EH_Paid; PdfReports.AddText2Table(table, "Early Harvest", _labelFont, "left"); if (item.EH_SLM != 0) { PdfReports.AddText2Table(table, curSLM.ToString("N4"), _normalFont, "center"); } else { PdfReports.AddText2Table(table, "------", _normalFont, "center"); } if (item.EH_Sugar != 0) { PdfReports.AddText2Table(table, actualSugar.ToString("N2"), _normalFont); } else { PdfReports.AddText2Table(table, "------", _normalFont); } if (item.EH_Sugar != 0) { PdfReports.AddText2Table(table, pctPaid.ToString("N3"), _normalFont); } else { PdfReports.AddText2Table(table, "------", _normalFont); } if (item.EH_Price != 0) { PdfReports.AddText2Table(table, item.EH_Price.ToString("$#,##0.000"), _normalFont); } else { PdfReports.AddText2Table(table, "------", _normalFont); } if (item.EH_Tons != 0 || item.EH_Tons_Moved != 0) { PdfReports.AddText2Table(table, (item.EH_Tons - item.EH_Tons_Moved).ToString("N4"), _normalFont); } else { PdfReports.AddText2Table(table, "------", _normalFont); } if (isCumulative) { ytdEHAmount += item.EH_Gross_Pay - item.EH_Amt_Moved; } else { ytdEHAmount = item.YtdEhGrossPay - item.YtdEhAmtMoved; } PdfReports.AddText2Table(table, ytdEHAmount.ToString("$#,##0.00"), _normalFont); PdfReports.AddText2Table(table, (item.EH_Gross_Pay - item.EH_Amt_Moved).ToString("$#,##0.00"), _normalFont); // Regular Harvest actualSugar = item.RH_Sugar; curSLM = item.RH_SLM; pctPaid = item.Pct_RH_Paid; PdfReports.AddText2Table(table, "Regular Harvest", _labelFont, "left"); PdfReports.AddText2Table(table, curSLM.ToString("N4"), _normalFont, "center"); PdfReports.AddText2Table(table, actualSugar.ToString("N2"), _normalFont); PdfReports.AddText2Table(table, pctPaid.ToString("N3"), _normalFont); PdfReports.AddText2Table(table, item.RH_Price.ToString("$#,##0.000"), _normalFont); PdfReports.AddText2Table(table, (item.RH_Tons - item.RH_Tons_Moved).ToString("N4"), _normalFont); if (isCumulative) { ytdRHAmount += item.RH_Gross_Pay - item.RH_Amt_Moved; } else { ytdRHAmount = item.YtdRhGrossPay - item.YtdRhAmtMoved; } PdfReports.AddText2Table(table, ytdRHAmount.ToString("$#,##0.00"), _normalFont); PdfReports.AddText2Table(table, (item.RH_Gross_Pay - item.RH_Amt_Moved).ToString("$#,##0.00"), _normalFont); PdfReports.AddText2Table(table, " ", _normalFont, 8); // Reduced Early Harvest PdfReports.AddText2Table(table, "Reduced Early Harvest Excess Beets", _labelFont, "left", 4); PdfReports.AddText2Table(table, " ", _normalFont); PdfReports.AddText2Table(table, item.EH_Tons_Moved.ToString("#,#.0000;(#,#.0000)"), _normalFont); if (isCumulative) { ytdEHAmountMoved += item.EH_Amt_Moved; } else { ytdEHAmountMoved = item.YtdEhAmtMoved; } PdfReports.AddText2Table(table, ytdEHAmountMoved.ToString("$#,#.00;$(#,#.00)"), _normalFont); PdfReports.AddText2Table(table, item.EH_Amt_Moved.ToString("$#,#.00;$(#,#.00)"), _normalFont); // Reduced Regular Harvest PdfReports.AddText2Table(table, "Reduced Regular Harvest Excess Beets", _labelFont, "left", 4); PdfReports.AddText2Table(table, " ", _normalFont); PdfReports.AddText2Table(table, item.RH_Tons_Moved.ToString("#,#.0000;(#,#.0000)"), _normalFont); if (isCumulative) { ytdRHAmountMoved += item.RH_Amt_Moved; } else { ytdRHAmountMoved = item.YtdRhAmtMoved; } PdfReports.AddText2Table(table, ytdRHAmountMoved.ToString("$#,#.00;$(#,#.00)"), _normalFont); PdfReports.AddText2Table(table, item.RH_Amt_Moved.ToString("$#,#.00;$(#,#.00)"), _normalFont); PdfReports.AddText2Table(table, " ", _normalFont, 8); // Total lines PdfReports.AddText2Table(table, " ", _normalFont, 4); PdfReports.AddText2Table(table, "Total Gross Amount: ", _labelFont, "right", 2); PdfReports.AddText2Table(table, (ytdEHBonus + ytdEHAmount + ytdRHAmount + ytdEHAmountMoved + ytdRHAmountMoved).ToString("#,##0.00"), _normalFont); PdfReports.AddText2Table(table, (item.EH_Bonus + item.EH_Gross_Pay + item.RH_Gross_Pay //+ item.EH_Amt_Moved //+ item.RH_Amt_Moved ).ToString("#,##0.00"), _normalFont); PdfReports.AddText2Table(table, " ", _normalFont, 5); PdfReports.AddText2Table(table, "Deduction Total: ", _labelFont, "right"); if (isCumulative) { ytdDeductions += item.Deduct_Total; } else { ytdDeductions = item.YtdDeductTotal; } PdfReports.AddText2Table(table, ytdDeductions.ToString("#,##0.00"), _normalFont); PdfReports.AddText2Table(table, item.Deduct_Total.ToString("#,##0.00"), _normalFont); PdfReports.AddText2Table(table, " ", _normalFont, 5); PdfReports.AddText2Table(table, "Net Payment: ", _labelFont, "right"); decimal currentNet = item.EH_Bonus + item.EH_Gross_Pay + item.RH_Gross_Pay - item.Deduct_Total; if (isCumulative) { ytdNet += currentNet; } else { ytdNet = item.YtdEhBonus + item.YtdEhGrossPay + item.YtdRhGrossPay - item.YtdDeductTotal; } PdfReports.AddText2Table(table, ytdNet.ToString("#,##0.00"), _normalFont); PdfReports.AddText2Table(table, currentNet.ToString("#,##0.00"), _normalFont); PdfReports.AddText2Table(table, " ", _normalFont, 8); PdfReports.AddText2Table(table, " ", _normalFont, 6); PdfReports.AddText2Table(table, "Grower Net: ", _labelFont, "right"); PdfReports.AddText2Table(table, item.Payment_Amount.ToString("#,##0.00"), _normalFont); PdfReports.AddText2Table(table, " ", _normalFont, 6); PdfReports.AddText2Table(table, "Landowner Net: ", _labelFont, "right"); PdfReports.AddText2Table(table, item.Split_Payment.ToString("#,##0.00"), _normalFont); PdfReports.AddText2Table(table, " ", _normalFont, 8); PdfReports.AddTableNoSplit(document, pgEvent, table); if (paymentNumber == item.Payment_Number) { //================================================================ // Add Deduction information //================================================================ table = PdfReports.CreateTable(_primaryTableLayout, 1); //using (SqlDataReader drDed = WSCPayment.GetTransmittalDeduction(conn, // cropYear, contractNumber, item.Payment_Number, isCumulative)) { PdfReports.AddText2Table(table, "Deduction", _labelFont, 5); PdfReports.AddText2Table(table, "Payment", _labelFont); PdfReports.AddText2Table(table, "Amount", _labelFont); PdfReports.AddText2Table(table, " ", _labelFont); var contractDeductions = from deduction in deductionList where deduction.Contract_Number.ToString() == item.Contract_Number && deduction.Payment_Number <= item.Payment_Number orderby deduction.Payment_Number, deduction.Deduction_Number select deduction; foreach (TransDeductionListItem dedItem in contractDeductions) { if (dedItem.Amount != 0) { PdfReports.AddText2Table(table, dedItem.Deduction_Desc, _normalFont, 5); PdfReports.AddText2Table(table, dedItem.Payment_Description, _normalFont); PdfReports.AddText2Table(table, dedItem.Amount.ToString("$#,##0.00"), _normalFont); PdfReports.AddText2Table(table, " ", _labelFont); } } // OLD CODE - replace by For loop above //while (drDed.Read()) { // PdfReports.AddText2Table(table, drDed.GetString(drDed.GetOrdinal("Deduction_Desc")), _normalFont, 5); // PdfReports.AddText2Table(table, drDed.GetString(drDed.GetOrdinal("Payment_Description")), _normalFont); // PdfReports.AddText2Table(table, drDed.GetDecimal(drDed.GetOrdinal("Amount")).ToString("$#,##0.00"), _normalFont); // PdfReports.AddText2Table(table, " ", _labelFont); //} PdfReports.AddText2Table(table, " ", _normalFont, 8); PdfReports.AddTableNoSplit(document, pgEvent, table); //} //================================================================ // Add Delivery information //================================================================ float[] deliveryLayout = new float[] { 110.8F, 110.8F, 55.4F, 110.8F, 55.4F, 55.4F, 55.4F }; table = PdfReports.CreateTable(deliveryLayout, 1); List <TransmittalDeliveryItem> deliveryList = WSCPayment.GetTransmittalDelivery(cropYear, contractNumber, paymentNumber, null, null); PdfReports.AddText2Table(table, "Delivery Date", _labelFont); PdfReports.AddText2Table(table, "First Net Pounds", _labelFont); PdfReports.AddText2Table(table, "Tare %", _labelFont); PdfReports.AddText2Table(table, "Final Net Lbs", _labelFont); PdfReports.AddText2Table(table, "Sugar %", _labelFont); PdfReports.AddText2Table(table, "SLM", _labelFont); PdfReports.AddText2Table(table, "Loads", _labelFont); foreach (TransmittalDeliveryItem deliveryDay in deliveryList) { PdfReports.AddText2Table(table, deliveryDay.Delivery_Date.ToShortDateString(), _normalFont); PdfReports.AddText2Table(table, deliveryDay.First_Net_Pounds.ToString("###,###"), _normalFont); PdfReports.AddText2Table(table, deliveryDay.Tare.ToString("N2"), _normalFont); PdfReports.AddText2Table(table, deliveryDay.Final_Net_Pounds.ToString("###,###"), _normalFont); PdfReports.AddText2Table(table, deliveryDay.Sugar_Content.ToString("N2"), _normalFont); PdfReports.AddText2Table(table, deliveryDay.SLM_Pct.ToString("N4"), _normalFont); PdfReports.AddText2Table(table, deliveryDay.Loads.ToString(), _normalFont); } PdfReports.AddText2Table(table, " ", _normalFont, 6); PdfReports.AddTableNoSplit(document, pgEvent, table); } } catch (System.Exception ex) { WSCIEMP.Common.CException wscEx = new WSCIEMP.Common.CException(METHOD_NAME, ex); throw (wscEx); } } } // ====================================================== // Close document // ====================================================== if (document != null) { 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 void DoExport() { const string METHOD_NAME = "DoExport"; const string dblQuote = "\""; // Recordset returned by calling either stored procedure. const int eepexCrop_year = 1, eepexContract_no = 2, // this is really SHID/contract no depending on New vs Old proc call eepexAddress_no = 3, eepexPayment_no = 4, eepexAdr_contact_name = 5, eepexAdr_business_name = 6, eepexAdr_line_1 = 7, eepexAdr_line_2 = 8, eepexAdr_city = 9, eepexAdr_state = 10, eepexAdr_zip_code = 11, eepexPayee_name = 12, eepexPayment_amount = 13; try { int paymentDescID = 0; string procName = ""; int cropYear = Convert.ToInt32(Common.UILib.GetDropDownText(ddlCropYear)); int countExported = 0; System.Text.StringBuilder sb = new System.Text.StringBuilder(); paymentDescID = Convert.ToInt32(Common.UILib.GetListValues(lstPaymentNumber)); if (cropYear < 2006) { procName = "s70pay_GetPaymentExport"; } else { procName = "s70pay_GetPaymentExport2"; } using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["BeetConn"].ToString())) { using (SqlDataReader dr = WSCPayment.GetPaymentExport(conn, procName, paymentDescID, cropYear)) { while (dr.Read()) { //============================= // First time logic: HEADER !!! //============================= if (countExported == 0) { sb.Append(dblQuote); sb.Append(dr.GetName(eepexCrop_year)); sb.Append(dblQuote); sb.Append(","); sb.Append(dblQuote); sb.Append(dr.GetName(eepexContract_no)); sb.Append(dblQuote); sb.Append(","); sb.Append(dblQuote); sb.Append(dr.GetName(eepexAddress_no)); sb.Append(dblQuote); sb.Append(","); sb.Append(dblQuote); sb.Append(dr.GetName(eepexPayment_no)); sb.Append(dblQuote); sb.Append(","); sb.Append(dblQuote); sb.Append(dr.GetName(eepexAdr_contact_name)); sb.Append(dblQuote); sb.Append(","); sb.Append(dblQuote); sb.Append(dr.GetName(eepexAdr_business_name)); sb.Append(dblQuote); sb.Append(","); sb.Append(dblQuote); sb.Append(dr.GetName(eepexAdr_line_1)); sb.Append(dblQuote); sb.Append(","); sb.Append(dblQuote); sb.Append(dr.GetName(eepexAdr_line_2)); sb.Append(dblQuote); sb.Append(","); sb.Append(dblQuote); sb.Append(dr.GetName(eepexAdr_city)); sb.Append(dblQuote); sb.Append(","); sb.Append(dblQuote); sb.Append(dr.GetName(eepexAdr_state)); sb.Append(dblQuote); sb.Append(","); sb.Append(dblQuote); sb.Append(dr.GetName(eepexAdr_zip_code)); sb.Append(dblQuote); sb.Append(","); sb.Append(dblQuote); sb.Append(dr.GetName(eepexPayee_name)); sb.Append(dblQuote); sb.Append(","); sb.Append(dblQuote); sb.Append(dr.GetName(eepexPayment_amount)); sb.Append(dblQuote); sb.Append("\n"); } sb.Append(dr.GetInt32(eepexCrop_year).ToString()); sb.Append(","); sb.Append(dr.GetString(eepexContract_no)); sb.Append(","); sb.Append(dr.GetInt32(eepexAddress_no).ToString("#")); // SHID sb.Append(","); sb.Append(dr.GetInt32(eepexPayment_no).ToString("#")); sb.Append(","); sb.Append(dblQuote); sb.Append(dr.GetString(eepexAdr_contact_name)); sb.Append(dblQuote); sb.Append(","); sb.Append(dblQuote); sb.Append(dr.GetString(eepexAdr_business_name)); sb.Append(dblQuote); sb.Append(","); sb.Append(dblQuote); sb.Append(dr.GetString(eepexAdr_line_1)); sb.Append(dblQuote); sb.Append(","); sb.Append(dblQuote); sb.Append(dr.GetString(eepexAdr_line_2)); sb.Append(dblQuote); sb.Append(","); sb.Append(dblQuote); sb.Append(dr.GetString(eepexAdr_city)); sb.Append(dblQuote); sb.Append(","); sb.Append(dblQuote); sb.Append(dr.GetString(eepexAdr_state)); sb.Append(dblQuote); sb.Append(","); sb.Append(dblQuote); sb.Append(dr.GetString(eepexAdr_zip_code)); sb.Append(dblQuote); sb.Append(","); sb.Append(dblQuote); sb.Append(dr.GetString(eepexPayee_name)); sb.Append(dblQuote); sb.Append(","); sb.Append(dblQuote); sb.Append(dr.GetDecimal(eepexPayment_amount).ToString("#0.00")); sb.Append(dblQuote); sb.Append("\n"); countExported += 1; } } } // ------------------------------------------------------------------------ // We need BOTH the url path and file system path to the payment file. // ------------------------------------------------------------------------ string paymentDesc = Common.UILib.GetListText(lstPaymentNumber, ""); string fileName = cropYear.ToString() + " Payment " + paymentDesc + ".csv"; string urlPath = WSCReportsExec.GetPDFFolderPath() + @"/" + fileName; // Convert to file system path string filePath = Page.MapPath(urlPath); using (System.IO.StreamWriter sw = new System.IO.StreamWriter(filePath, false)) { sw.Write(sb.ToString()); } txtSumExported.Text = countExported.ToString("#,##0"); lnkPaymentFile.Visible = true; lnkPaymentFile.NavigateUrl = urlPath; lnkPaymentFile.Text = "Click Here to Open Your Export Payment File"; Common.AppHelper.ShowConfirmation((HtmlGenericControl)Master.FindControl("divWarning"), "Payment Export Complete!"); } catch (Exception ex) { Common.CException wex = new Common.CException(MOD_NAME + METHOD_NAME, ex); throw (wex); } }
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(); } } }