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); } }