protected static string PrintCreditBillWG(Data.ContactDetails clsGuarantorDetails, System.Data.DataTable dtCreditors, Data.CardTypeDetails clsCreditCardTypeInfo) { CreditBiller.CRSReports.BillingWGuarantor rpt = new CreditBiller.CRSReports.BillingWGuarantor(); CreditBiller.ReportDataset rptds = new CreditBiller.ReportDataset(); System.Data.DataRow drNew; foreach (System.Data.DataRow dr in dtCreditors.Rows) { drNew = rptds.CreditBillHeader.NewRow(); foreach (System.Data.DataColumn dc in rptds.CreditBillHeader.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.CreditBillHeader.Rows.Add(drNew); } rpt.SetDataSource(rptds); CrystalDecisions.CrystalReports.Engine.ParameterFieldDefinition paramField; CrystalDecisions.Shared.ParameterValues currentValues; CrystalDecisions.Shared.ParameterDiscreteValue discreteParam; paramField = rpt.DataDefinition.ParameterFields["CompanyName"]; discreteParam = new CrystalDecisions.Shared.ParameterDiscreteValue(); discreteParam.Value = CompanyDetails.CompanyNameWG; currentValues = new CrystalDecisions.Shared.ParameterValues(); currentValues.Add(discreteParam); paramField.ApplyCurrentValues(currentValues); paramField = rpt.DataDefinition.ParameterFields["BillingDate"]; discreteParam = new CrystalDecisions.Shared.ParameterDiscreteValue(); discreteParam.Value = clsCreditCardTypeInfo.BillingDate; currentValues = new CrystalDecisions.Shared.ParameterValues(); currentValues.Add(discreteParam); paramField.ApplyCurrentValues(currentValues); paramField = rpt.DataDefinition.ParameterFields["PaymentDueDate"]; discreteParam = new CrystalDecisions.Shared.ParameterDiscreteValue(); discreteParam.Value = clsCreditCardTypeInfo.CreditCutOffDate; currentValues = new CrystalDecisions.Shared.ParameterValues(); currentValues.Add(discreteParam); paramField.ApplyCurrentValues(currentValues); paramField = rpt.DataDefinition.ParameterFields["CompanyAddress"]; discreteParam = new CrystalDecisions.Shared.ParameterDiscreteValue(); discreteParam.Value = CompanyDetails.Address1 + Environment.NewLine + CompanyDetails.Address2 + ", " + CompanyDetails.City + " " + CompanyDetails.Country + Environment.NewLine + "Tel #: " + CompanyDetails.OfficePhone + " Fax #:" + CompanyDetails.FaxPhone + Environment.NewLine + "TIN : " + CompanyDetails.TIN + " VAT Reg."; currentValues = new CrystalDecisions.Shared.ParameterValues(); currentValues.Add(discreteParam); paramField.ApplyCurrentValues(currentValues); paramField = rpt.DataDefinition.ParameterFields["ContactName"]; discreteParam = new CrystalDecisions.Shared.ParameterDiscreteValue(); discreteParam.Value = clsGuarantorDetails.ContactName; currentValues = new CrystalDecisions.Shared.ParameterValues(); currentValues.Add(discreteParam); paramField.ApplyCurrentValues(currentValues); paramField = rpt.DataDefinition.ParameterFields["ContactCode"]; discreteParam = new CrystalDecisions.Shared.ParameterDiscreteValue(); discreteParam.Value = clsGuarantorDetails.ContactCode; currentValues = new CrystalDecisions.Shared.ParameterValues(); currentValues.Add(discreteParam); paramField.ApplyCurrentValues(currentValues); paramField = rpt.DataDefinition.ParameterFields["ContactAddress"]; discreteParam = new CrystalDecisions.Shared.ParameterDiscreteValue(); discreteParam.Value = clsGuarantorDetails.Address; currentValues = new CrystalDecisions.Shared.ParameterValues(); currentValues.Add(discreteParam); paramField.ApplyCurrentValues(currentValues); paramField = rpt.DataDefinition.ParameterFields["CreditPurcStartDateToProcess"]; discreteParam = new CrystalDecisions.Shared.ParameterDiscreteValue(); discreteParam.Value = clsCreditCardTypeInfo.CreditPurcStartDateToProcess; currentValues = new CrystalDecisions.Shared.ParameterValues(); currentValues.Add(discreteParam); paramField.ApplyCurrentValues(currentValues); paramField = rpt.DataDefinition.ParameterFields["CreditPurcEndDateToProcess"]; discreteParam = new CrystalDecisions.Shared.ParameterDiscreteValue(); discreteParam.Value = clsCreditCardTypeInfo.CreditPurcEndDateToProcess; currentValues = new CrystalDecisions.Shared.ParameterValues(); currentValues.Add(discreteParam); paramField.ApplyCurrentValues(currentValues); string strRetValue = ""; try { string logsdir = System.Configuration.ConfigurationManager.AppSettings["billingdir"].ToString(); logsdir += logsdir.EndsWith("/") ? "" : "/"; if (!Directory.Exists(logsdir + "withg")) { Directory.CreateDirectory(logsdir + "withg"); } string logFile = logsdir + "withg/OR_" + clsGuarantorDetails.ContactID.ToString() + clsCreditCardTypeInfo.BillingDate.ToString("yyyyMMdd") + ".doc"; if (File.Exists(logFile)) { MoveCreditBillToNextFile(logFile, 1); } rpt.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.WordForWindows, logFile); strRetValue = "OR_" + clsGuarantorDetails.ContactID.ToString() + clsCreditCardTypeInfo.BillingDate.ToString("yyyyMMdd") + ".doc"; } catch { } try { bool boCreditBillerWillPrintORs = false; if (System.Configuration.ConfigurationManager.AppSettings["CreditBillerWillPrintORs"] != null) boCreditBillerWillPrintORs = bool.Parse(System.Configuration.ConfigurationManager.AppSettings["CreditBillerWillPrintORs"].ToString()); if (boCreditBillerWillPrintORs) { string strCreditBillerPrinterName = ""; if (System.Configuration.ConfigurationManager.AppSettings["CreditBillerPrinterName"] != null) strCreditBillerPrinterName = System.Configuration.ConfigurationManager.AppSettings["CreditBillerPrinterName"].ToString(); if (PrinterHelper.isPrinterOnline(strCreditBillerPrinterName)) { rpt.PrintOptions.PrinterName = strCreditBillerPrinterName; rpt.PrintToPrinter(1, false, 0, 0); } else { WriteProcessToMonitor("will not print sales invoice. '" + strCreditBillerPrinterName + "' printer is offline."); } } } catch { } rpt.Close(); rpt.Dispose(); return strRetValue; }
protected static string PrintCreditBillLX(Data.BillingDetails clsBillingDetails) { Data.Billing clsBilling = new Data.Billing(mConnection, mTransaction); mConnection = clsBilling.Connection; mTransaction = clsBilling.Transaction; System.Data.DataTable dt = clsBilling.ListDetailsAsDataTable(clsBillingDetails.CreditBillHeaderID); clsBilling.CommitAndDispose(); CreditBiller.CRSReports.BillingLX rpt = new CreditBiller.CRSReports.BillingLX(); CreditBiller.ReportDataset rptds = new CreditBiller.ReportDataset(); System.Data.DataRow drNew; foreach (System.Data.DataRow dr in dt.Rows) { drNew = rptds.CreditBillDetail.NewRow(); foreach (System.Data.DataColumn dc in rptds.CreditBillDetail.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.CreditBillDetail.Rows.Add(drNew); } rpt.SetDataSource(rptds); CrystalDecisions.CrystalReports.Engine.ParameterFieldDefinition paramField; CrystalDecisions.Shared.ParameterValues currentValues; CrystalDecisions.Shared.ParameterDiscreteValue discreteParam; paramField = rpt.DataDefinition.ParameterFields["CompanyName"]; discreteParam = new CrystalDecisions.Shared.ParameterDiscreteValue(); discreteParam.Value = CompanyDetails.CompanyNameNoG; currentValues = new CrystalDecisions.Shared.ParameterValues(); currentValues.Add(discreteParam); paramField.ApplyCurrentValues(currentValues); paramField = rpt.DataDefinition.ParameterFields["BillingDate"]; discreteParam = new CrystalDecisions.Shared.ParameterDiscreteValue(); discreteParam.Value = clsBillingDetails.BillingDate; currentValues = new CrystalDecisions.Shared.ParameterValues(); currentValues.Add(discreteParam); paramField.ApplyCurrentValues(currentValues); paramField = rpt.DataDefinition.ParameterFields["PaymentDueDate"]; discreteParam = new CrystalDecisions.Shared.ParameterDiscreteValue(); discreteParam.Value = clsBillingDetails.CreditPaymentDueDate; currentValues = new CrystalDecisions.Shared.ParameterValues(); currentValues.Add(discreteParam); paramField.ApplyCurrentValues(currentValues); paramField = rpt.DataDefinition.ParameterFields["CompanyAddress"]; discreteParam = new CrystalDecisions.Shared.ParameterDiscreteValue(); discreteParam.Value = CompanyDetails.Address1 + Environment.NewLine + CompanyDetails.Address2 + ", " + CompanyDetails.City + " " + CompanyDetails.Country + Environment.NewLine + "Tel #: " + CompanyDetails.OfficePhone + " Fax #:" + CompanyDetails.FaxPhone + Environment.NewLine + "TIN : " + CompanyDetails.TIN + " VAT Reg."; currentValues = new CrystalDecisions.Shared.ParameterValues(); currentValues.Add(discreteParam); paramField.ApplyCurrentValues(currentValues); paramField = rpt.DataDefinition.ParameterFields["ContactName"]; discreteParam = new CrystalDecisions.Shared.ParameterDiscreteValue(); discreteParam.Value = clsBillingDetails.CustomerDetails.ContactName; currentValues = new CrystalDecisions.Shared.ParameterValues(); currentValues.Add(discreteParam); paramField.ApplyCurrentValues(currentValues); paramField = rpt.DataDefinition.ParameterFields["ContactCode"]; discreteParam = new CrystalDecisions.Shared.ParameterDiscreteValue(); discreteParam.Value = clsBillingDetails.CustomerDetails.ContactCode; currentValues = new CrystalDecisions.Shared.ParameterValues(); currentValues.Add(discreteParam); paramField.ApplyCurrentValues(currentValues); paramField = rpt.DataDefinition.ParameterFields["ContactAddress"]; discreteParam = new CrystalDecisions.Shared.ParameterDiscreteValue(); discreteParam.Value = clsBillingDetails.CustomerDetails.Address; currentValues = new CrystalDecisions.Shared.ParameterValues(); currentValues.Add(discreteParam); paramField.ApplyCurrentValues(currentValues); paramField = rpt.DataDefinition.ParameterFields["CreditCardNo"]; discreteParam = new CrystalDecisions.Shared.ParameterDiscreteValue(); discreteParam.Value = clsBillingDetails.CustomerDetails.CreditDetails.CreditCardNo; currentValues = new CrystalDecisions.Shared.ParameterValues(); currentValues.Add(discreteParam); paramField.ApplyCurrentValues(currentValues); paramField = rpt.DataDefinition.ParameterFields["CreditLimit"]; discreteParam = new CrystalDecisions.Shared.ParameterDiscreteValue(); discreteParam.Value = clsBillingDetails.CrediLimit; currentValues = new CrystalDecisions.Shared.ParameterValues(); currentValues.Add(discreteParam); paramField.ApplyCurrentValues(currentValues); paramField = rpt.DataDefinition.ParameterFields["CurrentDueAmount"]; discreteParam = new CrystalDecisions.Shared.ParameterDiscreteValue(); discreteParam.Value = clsBillingDetails.CurrentDueAmount; currentValues = new CrystalDecisions.Shared.ParameterValues(); currentValues.Add(discreteParam); paramField.ApplyCurrentValues(currentValues); paramField = rpt.DataDefinition.ParameterFields["MinimumAmountDue"]; discreteParam = new CrystalDecisions.Shared.ParameterDiscreteValue(); discreteParam.Value = clsBillingDetails.MinimumAmountDue; currentValues = new CrystalDecisions.Shared.ParameterValues(); currentValues.Add(discreteParam); paramField.ApplyCurrentValues(currentValues); paramField = rpt.DataDefinition.ParameterFields["PrevMoCurrentDueAmount"]; discreteParam = new CrystalDecisions.Shared.ParameterDiscreteValue(); discreteParam.Value = clsBillingDetails.Prev1MoCurrentDueAmount + clsBillingDetails.Prev2MoCurrentDueAmount; currentValues = new CrystalDecisions.Shared.ParameterValues(); currentValues.Add(discreteParam); paramField.ApplyCurrentValues(currentValues); paramField = rpt.DataDefinition.ParameterFields["CreditPurcStartDateToProcess"]; discreteParam = new CrystalDecisions.Shared.ParameterDiscreteValue(); discreteParam.Value = clsBillingDetails.CreditPurcStartDateToProcess; currentValues = new CrystalDecisions.Shared.ParameterValues(); currentValues.Add(discreteParam); paramField.ApplyCurrentValues(currentValues); paramField = rpt.DataDefinition.ParameterFields["CreditPurcEndDateToProcess"]; discreteParam = new CrystalDecisions.Shared.ParameterDiscreteValue(); discreteParam.Value = clsBillingDetails.CreditPurcEndDateToProcess; currentValues = new CrystalDecisions.Shared.ParameterValues(); currentValues.Add(discreteParam); paramField.ApplyCurrentValues(currentValues); string strRetValue = ""; try { string logsdir = System.Configuration.ConfigurationManager.AppSettings["billingdir"].ToString(); logsdir += logsdir.EndsWith("/") ? "" : "/"; if (!Directory.Exists(logsdir + "woutg")) { Directory.CreateDirectory(logsdir + "woutg"); } string logFile = logsdir + "woutg/OR_" + clsBillingDetails.ContactID.ToString() + clsBillingDetails.BillingDate.ToString("yyyyMMdd") + ".doc"; if (File.Exists(logFile)) { MoveCreditBillToNextFile(logFile, 1); } bool boPrintToPDF = false; if (System.Configuration.ConfigurationManager.AppSettings["PrintToPDF"] != null) boPrintToPDF = bool.Parse(System.Configuration.ConfigurationManager.AppSettings["PrintToPDF"].ToString()); if (boPrintToPDF) rpt.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, logFile.Replace(".doc", ".pdf")); rpt.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.WordForWindows, logFile); strRetValue = "OR_" + clsBillingDetails.ContactID.ToString() + clsBillingDetails.BillingDate.ToString("yyyyMMdd") + ".doc"; } catch { } try { bool boCreditBillerWillPrintORs = false; if (System.Configuration.ConfigurationManager.AppSettings["CreditBillerWillPrintORs"] != null) boCreditBillerWillPrintORs = bool.Parse(System.Configuration.ConfigurationManager.AppSettings["CreditBillerWillPrintORs"].ToString()); if (boCreditBillerWillPrintORs) { string strCreditBillerPrinterName = ""; if (System.Configuration.ConfigurationManager.AppSettings["CreditBillerPrinterName"] != null) strCreditBillerPrinterName = System.Configuration.ConfigurationManager.AppSettings["CreditBillerPrinterName"].ToString(); System.Drawing.Printing.PrintDocument printDoc = new System.Drawing.Printing.PrintDocument(); int i; int rawKind = 0; for (i = 0; i < printDoc.PrinterSettings.PaperSizes.Count; i++) { if (printDoc.PrinterSettings.PaperSizes[i].PaperName == "RetailPlusLXHalfSize") { rawKind = (int)PrinterHelper.GetField(printDoc.PrinterSettings.PaperSizes[i], "kind"); break; } } if (PrinterHelper.isPrinterOnline(strCreditBillerPrinterName)) { rpt.PrintOptions.PaperSize = (CrystalDecisions.Shared.PaperSize)rawKind; rpt.PrintOptions.PrinterName = strCreditBillerPrinterName; rpt.PrintToPrinter(1, false, 0, 0); } else { WriteProcessToMonitor("will not print sales invoice. '" + strCreditBillerPrinterName + "' printer is offline."); } } } catch { } rpt.Close(); rpt.Dispose(); return strRetValue; }