Example #1
0
        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;
        }
Example #2
0
        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;
        }