using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using CrystalDecisions.Reporting.WebControls;
using CrystalDecisions.Web;
using System.Globalization;

public partial class Reports_Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            if (Session["uid"] == null)
                Response.Redirect("../Security/LoginPage.aspx");



            int response = 0;

            string rID = "";
            string userID = Session["uid"].ToString();
            //if(Session["rpt"]!=null )
            //    rID=int.Parse (Session["rpt"].ToString ());
            rID = Request.QueryString["rpt"] as string;

            SecurityAgent.authenticateUserReport(userID, rID, ref response);
            if (response == 0)
            {
                Response.Redirect("../Business/default.aspx?err=2");
            }

            ReportDocument rd = new ReportDocument();
            this.Title = "Report Details";
            int reportNumber = int.Parse(Request.QueryString["rpt"]);

            switch (reportNumber)
            {
                case 1:
                    rd.Load(Server.MapPath("RptNonMatchRecon.rpt"));

                    rd.SetParameterValue("P_CURRENT_UID", 1);
                    rd.SetParameterValue("P_RC_CODE", Request.QueryString["p1"]);
                    rd.SetParameterValue("P_RE_CODE", Request.QueryString["p2"]);
                    rd.SetParameterValue("P_RECON_DATE", Request.QueryString["p3"]);
                    rd.SetParameterValue("p_tran_type", Request.QueryString["p4"]);
                    break;

                case 2:
                    rd.Load(Server.MapPath("RptNonMatchTran.rpt"));

                    rd.SetParameterValue("P_CURRENT_UID", 1);
                    rd.SetParameterValue("P_RC_CODE", Request.QueryString["p1"]);
                    rd.SetParameterValue("P_RE_CODE", Request.QueryString["p2"]);
                    rd.SetParameterValue("P_RECON_DATE", Request.QueryString["p3"]);
                    rd.SetParameterValue("p_tran_type", Request.QueryString["p4"]);
                    break;

                case 3:
                    rd.Load(Server.MapPath("RptATMSumViewer.rpt"));

                    rd.SetParameterValue("P_CURRENT_UID", 1);
                    rd.SetParameterValue("p_repl_date", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_record_status", Request.QueryString["p2"]);
                    break;

                case 4:
                    rd.Load(Server.MapPath("RptEJLoadingSum.rpt"));

                    rd.SetParameterValue("P_CURRENT_UID", 1);
                    rd.SetParameterValue("p_run_date", Request.QueryString["p1"]);
                    break;

                case 5:
                    rd.Load(Server.MapPath("RptClaims.rpt"));

                    rd.SetParameterValue("P_CURRENT_UID", 1);
                    rd.SetParameterValue("p_atm_num", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_from_date", Request.QueryString["p2"]);
                    rd.SetParameterValue("p_to_date", Request.QueryString["p3"]);
                    rd.SetParameterValue("p_on_us", Request.QueryString["p4"]);
                    rd.SetParameterValue("p_auto_app", Request.QueryString["p5"]);
                    rd.SetParameterValue("p_app_status", Request.QueryString["p6"]);
                    rd.SetParameterValue("p_post_status", Request.QueryString["p7"]);
                    rd.SetParameterValue("p_decl_status", Request.QueryString["p8"]);
                    break;
                case 6:
                    rd.Load(Server.MapPath("RptATMnonEDC.rpt"));

                    rd.SetParameterValue("P_CURRENT_UID", 1);
                    rd.SetParameterValue("p_load_date", Request.QueryString["p1"]);
                    break;
                case 7:
                    rd.Load(Server.MapPath("RptNonMatchBANCS.rpt"));

                    rd.SetParameterValue("P_CURRENT_UID", 1);
                    rd.SetParameterValue("P_RC_CODE", Request.QueryString["p1"]);
                    rd.SetParameterValue("P_RE_CODE", "1");
                    rd.SetParameterValue("P_RECON_DATE", Request.QueryString["p2"]);
                    break;
                case 8:
                    rd.Load(Server.MapPath("RptCashReconDetail.rpt"));

                    rd.SetParameterValue("p_tran_date", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_term_id", Request.QueryString["p2"]);
                    rd.SetParameterValue("p_dest", Request.QueryString["p3"]);
                    rd.SetParameterValue("p_record_type", Request.QueryString["p4"]);
                    break;
                case 9:
                    rd.Load(Server.MapPath("RptReplClaims.rpt"));

                    rd.SetParameterValue("p_tran_date", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_term_id", Request.QueryString["p2"]);
                    break;
                case 10:
                    rd.Load(Server.MapPath("RptATMCashDispRecon.rpt"));

                    rd.SetParameterValue("p_repl_date", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_current_uid", Session["uid"].ToString());
                    break;
                case 11:
                    rd.Load(Server.MapPath("RptATMCashDepositRecon.rpt"));

                    rd.SetParameterValue("p_repl_date", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_current_uid", Session["uid"].ToString());
                    break;
                case 1111:
                    rd.Load(Server.MapPath("RptATMCashRecycleRecon.rpt"));

                    rd.SetParameterValue("p_repl_date", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_current_uid", Session["uid"].ToString());
                    break;
                case 12:
                    rd.Load(Server.MapPath("RptOperationReport.rpt"));

                    rd.SetParameterValue("p_date", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_job_name", Request.QueryString["p2"]);
                    rd.SetParameterValue("p_response", Request.QueryString["p3"]);
                    break;

                case 13:
                    rd.Load(Server.MapPath("RptTerminalBalance.rpt"));

                    rd.SetParameterValue("p_atm_type", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_repl_date", Request.QueryString["p2"]);
                    break;

                case 14:
                    rd.Load(Server.MapPath("RptATMPOSsettlemnt.rpt"));

                    rd.SetParameterValue("p_settl_date", Request.QueryString["p1"]);
                    break;

                case 15:
                    rd.Load(Server.MapPath("RptNonMatchtranLedger.rpt"));

                    rd.SetParameterValue("p_event", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_tran_date", Request.QueryString["p2"]);
                    rd.SetParameterValue("p_tran_time", Request.QueryString["p3"]);
                    break;

                case 16:
                    rd.Load(Server.MapPath("RptCashReconExt.rpt"));

                    rd.SetParameterValue("p_current_uid", 1);
                    rd.SetParameterValue("p_repl_date", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_record_type", Request.QueryString["p2"]);
                    break;


                case 17:
                    rd.Load(Server.MapPath("RptEventReport.rpt"));

                    rd.SetParameterValue("p_re_code", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_recon_date", Request.QueryString["p2"]);
                    rd.SetParameterValue("p_sama_settl_amt", Request.QueryString["p3"]);
                    break;

                //**************************************************************************************\\
                //**************************************************************************************\\
                //**************************************************************************************\\

                case 100:
                    rd.Load(Server.MapPath("RptPOS_ServiceSettlement.rpt"));

                    rd.SetParameterValue("p_current_uid", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_pts_code", Request.QueryString["p2"]);
                    break;
                
                  case 10501:
                    rd.Load(Server.MapPath("RptSettlementByMerchant.rpt"));

                    rd.SetParameterValue("p_FromDate", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_AcctNo", Request.QueryString["p2"]);
                    rd.SetParameterValue("p_ToDate", Request.QueryString["p3"]);
                
                    break;

                  case 10601:
                    rd.Load(Server.MapPath("Pre-Auth_Txn.Rpt"));
                    rd.SetParameterValue("p_from_Date", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_To_Date", Request.QueryString["p2"]);

                    break;

                  case 10701:
                    rd.Load(Server.MapPath("Pre-Auth_SettledSummaryTxn.rpt"));
                    rd.SetParameterValue("p_from_Date", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_To_Date", Request.QueryString["p2"]);

                    break;
                case 101:
                    rd.Load(Server.MapPath("RptPOS_TerminalSettlement.rpt"));
                    rd.SetParameterValue("p_current_uid", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_term_id", Request.QueryString["p2"]);
                    rd.SetParameterValue("p_date", Request.QueryString["p3"]);
                    rd.SetParameterValue("p_time", Request.QueryString["p4"]);
                    break;

                case 102:
                    rd.Load(Server.MapPath("RptPaySlip.rpt"));
                    rd.SetParameterValue("c_current_uid", Request.QueryString["p1"]);
                    rd.SetParameterValue("c_claim_id", Request.QueryString["p2"]);
                    break;

                case 103:
                    rd.Load(Server.MapPath("RptVendorListInstall.rpt"));
                    rd.SetParameterValue("p_report_id", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_date", Request.QueryString["p2"]);
                    if (Request.QueryString["p3"].Length > 0)
                        rd.SetParameterValue("p_vendor", Request.QueryString["p3"]);
                    else
                        rd.SetParameterValue("p_vendor", null);
                    break;

                case 104:
                    rd.Load(Server.MapPath("RptVendorListCancel.rpt"));
                    rd.SetParameterValue("p_report_id", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_date", Request.QueryString["p2"]);
                    if (Request.QueryString["p3"].Length > 0)
                        rd.SetParameterValue("p_vendor", Request.QueryString["p3"]);
                    else
                        rd.SetParameterValue("p_vendor", null);
                    break;

                case 105:
                    rd.Load(Server.MapPath("RptPOS_HistoryGeneral.rpt"));
                    rd.SetParameterValue("p_client_number", Request.QueryString["p1"]);
                    break;

                case 106:
                    rd.Load(Server.MapPath("RptPOS_HistoryAddress.rpt"));
                    rd.SetParameterValue("p_ma_code", Request.QueryString["p1"]);
                    break;

                case 107:
                    rd.Load(Server.MapPath("RptPOS_HistoryServices.rpt"));
                    rd.SetParameterValue("p_as_code", Request.QueryString["p1"]);
                    break;

                case 108:
                    rd.Load(Server.MapPath("RptPOS_HistoryTerminal.rpt"));
                    rd.SetParameterValue("p_dvl_code", Request.QueryString["p1"]);
                    break;

                case 109:
                    rd.Load(Server.MapPath("RptPOS_HistoryAccount.rpt"));
                    rd.SetParameterValue("p_client_no", Request.QueryString["p1"]);
                    break;


                //**************************************************************************************\\
                //**************************************************************************************\\
                //**************************************************************************************\\

                case 201:
                    rd.Load(Server.MapPath("RptPOS1.rpt"));
                    rd.SetParameterValue("p_current_uid", Session["uid"].ToString());
                    rd.SetParameterValue("p_frm_date", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_term_id", Request.QueryString["p2"]);
                    rd.SetParameterValue("p_to_date", Request.QueryString["p3"]);
                    break;
                case 202:
                    rd.Load(Server.MapPath("RptPOS2.rpt"));
                    rd.SetParameterValue("p_current_uid", Session["uid"].ToString());
                    rd.SetParameterValue("p_date", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_term_id", Request.QueryString["p2"]);
                    rd.SetParameterValue("p_time", Request.QueryString["p3"]);
                    break;
                case 203:
                    rd.Load(Server.MapPath("RptPOS3.rpt"));
                    rd.SetParameterValue("p_current_uid", Session["uid"].ToString());
                    rd.SetParameterValue("p_frm_date", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_term_id", Request.QueryString["p2"]);
                    rd.SetParameterValue("p_to_date", Request.QueryString["p3"]);
                    break;
                case 204:
                    rd.Load(Server.MapPath("RptPOS4.rpt"));
                    rd.SetParameterValue("p_current_id", Session["uid"].ToString());
                    rd.SetParameterValue("p_mer_recon_date", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_term_id", Request.QueryString["p2"]);
                    rd.SetParameterValue("p_mer_recon_time", Request.QueryString["p3"]);
                    break;
                //**********************************************************************************************\\
                case 205:
                    rd.Load(Server.MapPath("RptPOS_Claims.rpt"));
                    rd.SetParameterValue("p_current_id", Session["uid"].ToString());
                    rd.SetParameterValue("p_claim_channel", Request.QueryString["p2"]);
                    //UMER_MOD 140721 starts 
                    // if (Request.QueryString["p2"] == "" )
                    if (Request.QueryString["p2"] == "" || Request.QueryString["p2"] == "004")
                        //UMER_MOD 140721 ends 
                        rd.SetParameterValue("p_claim_channel", null);


                    rd.SetParameterValue("p_claim_status", Request.QueryString["p3"]);
                    rd.SetParameterValue("p_from_date", Request.QueryString["p4"]);
                    rd.SetParameterValue("p_to_date", Request.QueryString["p5"]);
                    rd.SetParameterValue("p_product", Request.QueryString["p6"]);
                    rd.SetParameterValue("P_on_of", Request.QueryString["p7"]);
                    if (Request.QueryString["p8"].Length > 0)
                        rd.SetParameterValue("p_claim_type", Request.QueryString["p8"]);
                    else
                        rd.SetParameterValue("p_claim_type", "");
                    break;

                case 206:
                    rd.Load(Server.MapPath("RptPOS_SamaClaims.rpt"));
                    rd.SetParameterValue("p_current_id", Session["uid"].ToString());
                    rd.SetParameterValue("p_event", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_sama_status", Request.QueryString["p2"]);
                    rd.SetParameterValue("p_from_date", Request.QueryString["p3"]);
                    rd.SetParameterValue("p_to_date", Request.QueryString["p4"]);
                    break;

                case 207:
                    rd.Load(Server.MapPath("RptPOS_DailyProc.rpt"));
                    rd.SetParameterValue("p_ch_type", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_proc_date", Request.QueryString["p2"]);
                    rd.SetParameterValue("p_user_id", Request.QueryString["p3"]);

                    break;

                case 208:
                    rd.Load(Server.MapPath("RptPOS_Merchants.rpt"));
                    rd.SetParameterValue("p_from_date", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_to_date", Request.QueryString["p2"]);
                    rd.SetParameterValue("p_mer_reg_status", Request.QueryString["p3"]);
                    break;

                case 209:
                    rd.Load(Server.MapPath("RptPOS_Terminals.rpt"));
                    rd.SetParameterValue("p_from_date", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_to_date", Request.QueryString["p2"]);
                    rd.SetParameterValue("p_status", Request.QueryString["p3"]);
                    break;

                case 210:
                    rd.Load(Server.MapPath("RptPOS_TerminalsHistory.rpt"));
                    rd.SetParameterValue("p_term_id", Request.QueryString["p1"]);
                    if (Request.QueryString["p2"].Length > 0)
                        rd.SetParameterValue("p_client_no", Request.QueryString["p2"]);
                    else
                        rd.SetParameterValue("p_client_no", null);
                    rd.SetParameterValue("p_from_date", Request.QueryString["p3"]);
                    rd.SetParameterValue("p_to_date", Request.QueryString["p4"]);
                    break;

                case 211:
                    rd.Load(Server.MapPath("RptPOS_SPAN_Settle.rpt"));
                    rd.SetParameterValue("p_re_code", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_settle_date", Request.QueryString["p2"]);
                    rd.SetParameterValue("p_fin_flg", Request.QueryString["p3"]);
                    break;

                case 212:
                    rd.Load(Server.MapPath("RptPOS_Term_Settl_Status.rpt"));
                    if (Request.QueryString["p1"].Length > 0)
                        rd.SetParameterValue("p_client_no", Request.QueryString["p1"]);
                    else
                        rd.SetParameterValue("p_client_no", null);
                    rd.SetParameterValue("p_settle_date", Request.QueryString["p2"]);
                    break;

                case 213:
                    rd.Load(Server.MapPath("RptPOS_SamaPendingMerchants.rpt"));
                    if (Request.QueryString["p1"].Length > 0)
                        rd.SetParameterValue("p_client_no", Request.QueryString["p1"]);
                    else
                        rd.SetParameterValue("p_client_no", null);
                    if (Request.QueryString["p2"].Length > 0)
                        rd.SetParameterValue("p_date", Request.QueryString["p2"]);
                    else
                        rd.SetParameterValue("p_date", null);

                    break;

                case 214:
                    rd.Load(Server.MapPath("RptPOS_PostedClaimGLs.rpt"));
                    rd.SetParameterValue("p_acct_no", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_from_date", Request.QueryString["p2"]);
                    rd.SetParameterValue("p_to_date", Request.QueryString["p3"]);
                    break;
                case 215:
                    rd.Load(Server.MapPath("RptPOS_SettlementGLS.rpt"));
                    rd.SetParameterValue("p_client_num", Request.QueryString["p2"]);
                    rd.SetParameterValue("p_date", Request.QueryString["p1"]);
                    break;
                case 216:
                    rd.Load(Server.MapPath("Rptproducitivityreport.rpt"));
                    rd.SetParameterValue("p_user_id", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_from_date", Request.QueryString["p2"]);
                    rd.SetParameterValue("p_to_date", Request.QueryString["p3"]);
                    rd.SetParameterValue("p_from_time", Request.QueryString["p4"]);
                    rd.SetParameterValue("p_to_time", Request.QueryString["p5"]);
                    break;
                case 217:
                    rd.Load(Server.MapPath("RptPOSModified Merchant.rpt"));
                    if (Request.QueryString["p1"].Length > 0)
                        rd.SetParameterValue("p_client_no", Request.QueryString["p1"]);
                    else
                        rd.SetParameterValue("p_client_no", null);
                    if (Request.QueryString["p2"].Length > 0)
                        rd.SetParameterValue("p_date", Request.QueryString["p2"]);
                    else
                        rd.SetParameterValue("p_date", null);

                    break;

                case 218:
                    rd.Load(Server.MapPath("RptPOS_RentalFees.rpt"));
                    break;

                case 219:
                    rd.Load(Server.MapPath("RptPOS_CPSClaims.rpt"));
                    rd.SetParameterValue("p_type", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_product", Request.QueryString["p2"]);
                    break;

                case 220:
                    rd.Load(Server.MapPath("RptPOS_CPSClaimsR.rpt"));
                    rd.SetParameterValue("p_date", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_product", Request.QueryString["p2"]);
                    break;

                case 221:
                    rd.Load(Server.MapPath("RptPOS_CPSClaimsPending.rpt"));
                    rd.SetParameterValue("p_type", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_product", Request.QueryString["p2"]);
                    break;


                //By Ibrahim Al-Ashqar

                case 222:
                    rd.Load(Server.MapPath("RptDailySettl.rpt"));
                    rd.SetParameterValue("p_settl_date", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_current_uid", Request.QueryString["p2"]);
                    break;

                case 223:
                    rd.Load(Server.MapPath("AtmJard.rpt"));
                    rd.SetParameterValue("P_JARD_ID", Request.QueryString["p1"]);
                    rd.SetParameterValue("P_JARD_ID", Request.QueryString["p1"], "CapturedReports.rpt");
                    rd.SetParameterValue("P_CURRENT_UID", Request.QueryString["p2"]);
                    break;

                case 1041:
                    rd.Load(Server.MapPath("ContraMatchedTrans.rpt"));
                    rd.SetParameterValue("P_CHANNEL", Request.QueryString["p1"]);
                    rd.SetParameterValue("P_EVENT", Request.QueryString["p2"]);
                    rd.SetParameterValue("P_TRAN_DATE", Request.QueryString["p3"]);
                    rd.SetParameterValue("P_UID", Request.QueryString["p4"]);
                    break;

                case 10401: // New Report For Terminal Charges
                    rd.Load(Server.MapPath("TerminalLowUsageCharges.rpt"));
                    string dateYYMM=Request.QueryString["p1"];
                    rd.SetParameterValue("P_DATE", dateYYMM.Substring(0, 4));
                    string dateMonthly = DateTime.ParseExact(dateYYMM, "yyMMdd", CultureInfo.InvariantCulture).ToString("MMM-yyyy");
                    rd.SetParameterValue("P_MonthlyDate", dateMonthly);
           
                    
                    break;

                case 10430:
                    rd.Load(Server.MapPath("ReconSummary_General.rpt"));
                    rd.SetParameterValue("p_channel_id", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_event_id", Request.QueryString["p2"]);
                    rd.SetParameterValue("p_date", Request.QueryString["p3"]);
                    rd.SetParameterValue("p_current_uid", Request.QueryString["p4"]);
                    break;

                case 10431:
                    rd.Load(Server.MapPath("ReconSummary_Finacle.rpt"));
                    rd.SetParameterValue("p_channel_id", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_event_id", Request.QueryString["p2"]);
                    rd.SetParameterValue("p_date", Request.QueryString["p3"]);
                    rd.SetParameterValue("p_current_uid", Request.QueryString["p4"]);
                    break;

                case 1044:
                    rd.Load(Server.MapPath("SamaCoreBankingSettl.rpt"));
                    rd.SetParameterValue("p_tran_date", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_from_time", Request.QueryString["p2"]);
                    rd.SetParameterValue("p_to_time", Request.QueryString["p3"]);
                    rd.SetParameterValue("p_event_id", Request.QueryString["p4"]);
                    rd.SetParameterValue("p_current_uid", Request.QueryString["p5"]);
                    break;

                case 1045:
                    rd.Load(Server.MapPath("Claims_NoAction_ATM.rpt"));
                    rd.SetParameterValue("P_FROM_DATE", Request.QueryString["p1"]);
                    rd.SetParameterValue("P_TO_DATE", Request.QueryString["p2"]);
                    rd.SetParameterValue("P_PRODUCT", "1");
                    rd.SetParameterValue("P_CURRENT_UID", Request.QueryString["p3"]);
                    break;

                case 1046:
                    rd.Load(Server.MapPath("Claims_NoAction_POS.rpt"));
                    rd.SetParameterValue("P_FROM_DATE", Request.QueryString["p1"]);
                    rd.SetParameterValue("P_TO_DATE", Request.QueryString["p2"]);
                    rd.SetParameterValue("P_PRODUCT", "2");
                    rd.SetParameterValue("P_CURRENT_UID", Request.QueryString["p3"]);
                    break;

                case 1047:
                    rd.Load(Server.MapPath("Claims_DebitedToAccount_ATM.rpt"));
                    rd.SetParameterValue("P_ACCOUNT_NO", Request.QueryString["p1"]);
                    rd.SetParameterValue("P_FROM_DATE", Request.QueryString["p2"]);
                    rd.SetParameterValue("P_TO_DATE", Request.QueryString["p3"]);
                    rd.SetParameterValue("P_PRODUCT", "1");
                    rd.SetParameterValue("P_CURRENT_UID", Request.QueryString["p4"]);
                    break;

                case 1048:
                    rd.Load(Server.MapPath("Claims_DebitedToAccount_POS.rpt"));
                    rd.SetParameterValue("P_ACCOUNT_NO", Request.QueryString["p1"]);
                    rd.SetParameterValue("P_FROM_DATE", Request.QueryString["p2"]);
                    rd.SetParameterValue("P_TO_DATE", Request.QueryString["p3"]);
                    rd.SetParameterValue("P_PRODUCT", "2");
                    rd.SetParameterValue("P_CURRENT_UID", Request.QueryString["p4"]);
                    break;



                //IJR 22-02-2012 Add the report for POS Transactions Search

                case 500:
                    rd.Load(Server.MapPath("RptPOSTranSearch.rpt"));
                    rd.SetParameterValue("p_term_id", Request.QueryString["terminal"]);
                    rd.SetParameterValue("p_card_no", Request.QueryString["card"]);
                    rd.SetParameterValue("p_rrn", Request.QueryString["rrn"]);
                    rd.SetParameterValue("p_rc_code", Request.QueryString["chan"]);
                    rd.SetParameterValue("p_srv_code", Request.QueryString["serv"]);
                    rd.SetParameterValue("p_fin_flg", Request.QueryString["finflag"]);
                    rd.SetParameterValue("p_tran_date_from", Request.QueryString["dateF"]);
                    rd.SetParameterValue("p_tran_date_to", Request.QueryString["dateT"]);
                    rd.SetParameterValue("p_tran_time_from", Request.QueryString["timeF"]);
                    rd.SetParameterValue("p_tran_time_to", Request.QueryString["timeT"]);
                    rd.SetParameterValue("p_ch_b24", Request.QueryString["chb24"]);
                    rd.SetParameterValue("p_current_uid", Request.QueryString["uid"]);
                    rd.SetParameterValue("p_from_period_date", Request.QueryString["perFdate"]);
                    rd.SetParameterValue("p_to_period_date", Request.QueryString["perTdate"]);
                    rd.SetParameterValue("p_from_period_time", Request.QueryString["perFtime"]);
                    rd.SetParameterValue("p_to_period_time", Request.QueryString["perTtime"]);
                    rd.SetParameterValue("p_service_name", Request.QueryString["servname"]);
                    rd.SetParameterValue("p_type_name", Request.QueryString["typename"]);
                    break;


                case 501:
                    rd.Load(Server.MapPath("POSDailyTranasctionsReport.rpt"));
                    rd.SetParameterValue("P_CURRENT_UID", Request.QueryString["p3"]);
                    rd.SetParameterValue("P_SRV_CODE", Request.QueryString["p2"]);
                    rd.SetParameterValue("P_SETTL_DATE", Request.QueryString["p1"]);
                    break;


                case 502:
                    rd.Load(Server.MapPath("SAMA_FINACLE_SETL.rpt"));
                    rd.SetParameterValue("P_UID", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_settl_date", Request.QueryString["p2"]);
                    rd.SetParameterValue("P_EVENT", Request.QueryString["p3"]);

                    rd.SetParameterValue("p_settl_date", Request.QueryString["p2"], "sub_sama_claims.rpt");
                    rd.SetParameterValue("P_EVENT", Request.QueryString["p3"], "sub_sama_claims.rpt");

                    rd.SetParameterValue("p_settl_date", Request.QueryString["p2"], "sb_finacle_claims.rpt");
                    rd.SetParameterValue("P_EVENT", Request.QueryString["p3"], "sb_finacle_claims.rpt");

                    rd.SetParameterValue("p_settl_date", Request.QueryString["p2"], "sub_Finacle_Claims_Types.rpt");
                    rd.SetParameterValue("P_EVENT", Request.QueryString["p3"], "sub_Finacle_Claims_Types.rpt");

                    rd.SetParameterValue("p_settl_date", Request.QueryString["p2"], "sub_SAMA__Claims_Types.rpt");
                    rd.SetParameterValue("P_EVENT", Request.QueryString["p3"], "sub_SAMA__Claims_Types.rpt");


                    break;

                case 503:
                    rd.Load(Server.MapPath("GL_POSTING_DETAILS.rpt"));
                    rd.SetParameterValue("P_DATE", Request.QueryString["p1"]);
                    rd.SetParameterValue("P_CHANNEL_TYPE", Request.QueryString["p2"]);
                    rd.SetParameterValue("P_DATE", Request.QueryString["p1"], "sub_GL_Transactions_details");
                    rd.SetParameterValue("P_CHANNEL_TYPE", Request.QueryString["p2"], "sub_GL_Transactions_details");
                    break;



                case 504:
                    rd.Load(Server.MapPath("Deposit_W3_Statuses.rpt"));
                    rd.SetParameterValue("P_CURRENT_UID", Request.QueryString["p1"]);
                    rd.SetParameterValue("P_STATUS_DATE", Request.QueryString["p4"]);
                    rd.SetParameterValue("P_ATM_ID", Request.QueryString["p3"]);
                    rd.SetParameterValue("P_FROM_STATUS_DATE", Request.QueryString["p2"]);
                    break;

                case 505:
                    rd.Load(Server.MapPath("Deposit_RETRACT_Statuses.rpt"));
                    rd.SetParameterValue("P_CURRENT_UID", Request.QueryString["p1"]);
                    rd.SetParameterValue("P_STATUS_DATE", Request.QueryString["p2"]);
                    rd.SetParameterValue("P_ATM_ID", Request.QueryString["p3"]);
                    break;



                case 506: //ATM
                    rd.Load(Server.MapPath("Claims_Search_ATM.rpt"));
                    rd.SetParameterValue("c_current_uid", Request.QueryString["c_current_uid"]);
                    rd.SetParameterValue("c_claim_id", Request.QueryString["c_claim_id"]);
                    rd.SetParameterValue("c_card_number", Request.QueryString["c_card_number"]);
                    rd.SetParameterValue("c_rrn", Request.QueryString["c_rrn"]);
                    rd.SetParameterValue("c_tran_date", Request.QueryString["c_tran_date"]);
                    rd.SetParameterValue("c_product", Request.QueryString["c_product"]);
                    rd.SetParameterValue("c_client_number", Request.QueryString["c_client_number"]);
                    rd.SetParameterValue("c_retailer_id", Request.QueryString["c_retailer_id"]);
                    rd.SetParameterValue("c_term_id", Request.QueryString["c_term_id"]);
                    rd.SetParameterValue("c_claim_status", Request.QueryString["c_claim_status"]);
                    rd.SetParameterValue("p_atm_num", Request.QueryString["p_atm_num"]);
                    rd.SetParameterValue("p_onus", Request.QueryString["p_onus"]);
                    rd.SetParameterValue("p_mer_ch", Request.QueryString["p_mer_ch"]);
                    rd.SetParameterValue("p_org_claim_id", Request.QueryString["p_org_claim_id"]);
                    rd.SetParameterValue("p_EventId", Request.QueryString["p_EventId"]);
                    rd.SetParameterValue("p_claim_action_status", Request.QueryString["p_claim_action_status"]);
                    rd.SetParameterValue("p_atmType", Request.QueryString["p_atmType"]);
                    rd.SetParameterValue("p_sama_from_date", Request.QueryString["p_sama_from_date"]);
                    rd.SetParameterValue("p_sama_to_date", Request.QueryString["p_sama_to_date"]);
                    rd.SetParameterValue("p_sama_claim_type", Request.QueryString["p_sama_claim_type"]);
                    rd.SetParameterValue("p_page_size", Request.QueryString["p_page_size"]);
                    rd.SetParameterValue("p_page_num", Request.QueryString["p_page_num"]);
                    rd.SetParameterValue("p_lang", Request.QueryString["p_lang"]);
                    break;

                case 507://POS
                    rd.Load(Server.MapPath("Claims_Search_POS.rpt"));
                    rd.SetParameterValue("c_current_uid", Request.QueryString["c_current_uid"]);
                    rd.SetParameterValue("c_claim_id", Request.QueryString["c_claim_id"]);
                    rd.SetParameterValue("c_card_number", Request.QueryString["c_card_number"]);
                    rd.SetParameterValue("c_rrn", Request.QueryString["c_rrn"]);
                    rd.SetParameterValue("c_tran_date", Request.QueryString["c_tran_date"]);
                    rd.SetParameterValue("c_product", Request.QueryString["c_product"]);
                    rd.SetParameterValue("c_client_number", Request.QueryString["c_client_number"]);
                    rd.SetParameterValue("c_retailer_id", Request.QueryString["c_retailer_id"]);
                    rd.SetParameterValue("c_term_id", Request.QueryString["c_term_id"]);
                    rd.SetParameterValue("c_claim_status", Request.QueryString["c_claim_status"]);
                    rd.SetParameterValue("p_atm_num", Request.QueryString["p_atm_num"]);
                    rd.SetParameterValue("p_onus", Request.QueryString["p_onus"]);
                    rd.SetParameterValue("p_mer_ch", Request.QueryString["p_mer_ch"]);
                    rd.SetParameterValue("p_org_claim_id", Request.QueryString["p_org_claim_id"]);
                    rd.SetParameterValue("p_EventId", Request.QueryString["p_EventId"]);
                    rd.SetParameterValue("p_claim_action_status", Request.QueryString["p_claim_action_status"]);
                    rd.SetParameterValue("p_atmType", Request.QueryString["p_atmType"]);
                    rd.SetParameterValue("p_sama_from_date", Request.QueryString["p_sama_from_date"]);
                    rd.SetParameterValue("p_sama_to_date", Request.QueryString["p_sama_to_date"]);
                    rd.SetParameterValue("p_sama_claim_type", Request.QueryString["p_sama_claim_type"]);
                    rd.SetParameterValue("p_page_size", Request.QueryString["p_page_size"]);
                    rd.SetParameterValue("p_page_num", Request.QueryString["p_page_num"]);
                    rd.SetParameterValue("p_lang", Request.QueryString["p_lang"]);
                    break;

                case 508:
                    rd.Load(Server.MapPath("Claims_By_status_report.rpt"));
                    rd.SetParameterValue("P_FROM_DATE", Request.QueryString["p1"]);
                    rd.SetParameterValue("P_TO_DATE", Request.QueryString["p2"]);
                    rd.SetParameterValue("p_status", Request.QueryString["p3"]);
                    rd.SetParameterValue("p_type", Request.QueryString["p4"]);
                    break;


                //01-07-2012 --> IHJ , Add the Pool Account report for ATM
                case 509:
                    rd.Load(Server.MapPath("Pool_Account_Proof_Report.rpt"));

                    rd.SetParameterValue("P_FINACLE_DATE", Request.QueryString["p1"]);
                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"]);
                    rd.SetParameterValue("P_SETTL_DATE", Request.QueryString["p1"]);

                    rd.SetParameterValue("P_EVENT_ID", Request.QueryString["p2"]);
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"]);

                    rd.SetParameterValue("formatedValueDate", Request.QueryString["p3"]);
                    rd.SetParameterValue("formatedSamaDate", Request.QueryString["p4"]);

                    rd.SetParameterValue("P_ISS_SETTL_DATE", Request.QueryString["p1"], "claims_summary");
                    rd.SetParameterValue("P_EVENT_CODE", Request.QueryString["p2"], "claims_summary");

                    rd.SetParameterValue("P_ISS_SETTL_DATE", Request.QueryString["p1"], "claims_net_amount");
                    rd.SetParameterValue("P_EVENT_CODE", Request.QueryString["p2"], "claims_net_amount");

                    rd.SetParameterValue("P_ISS_SETTL_DATE", Request.QueryString["p1"], "list_of_claims");
                    rd.SetParameterValue("P_EVENT_CODE", Request.QueryString["p2"], "list_of_claims");

                    rd.SetParameterValue("P_FINACLE_DATE", Request.QueryString["p1"], "FINACLE_UNMATCHED_TRANSACTIONS");
                    rd.SetParameterValue("P_EVENT_ID", Request.QueryString["p2"], "FINACLE_UNMATCHED_TRANSACTIONS");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "area_3_amounts");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "area_3_amounts");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "area_3_amounts1");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "area_3_amounts1");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "area_2_amounts");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "area_2_amounts");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "area_1_amounts");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "area_1_amounts");

                    rd.SetParameterValue("P_FINACLE_DATE", Request.QueryString["p1"], "finacle_amounts_details");
                    rd.SetParameterValue("P_EVENT_ID", Request.QueryString["p2"], "finacle_amounts_details");

                    rd.SetParameterValue("P_ISS_SETTL_DATE", Request.QueryString["p1"], "CLAIMS_AMOUNTS");
                    rd.SetParameterValue("P_EVENT_CODE", Request.QueryString["p2"], "CLAIMS_AMOUNTS");
                    break;

                //01-07-2012 --> IHJ , Add the Pool Account report for ATM
                case 510:
                    rd.Load(Server.MapPath("Pool_Account_Proof_POS.rpt"));

                    rd.SetParameterValue("P_FINACLE_DATE", Request.QueryString["p1"]);
                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"]);
                    rd.SetParameterValue("P_SETTL_DATE", Request.QueryString["p1"]);

                    rd.SetParameterValue("P_EVENT_ID", Request.QueryString["p2"]);
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"]);

                    rd.SetParameterValue("formatedValueDate", Request.QueryString["p3"]);
                    rd.SetParameterValue("formatedSamaDate", Request.QueryString["p4"]);

                    rd.SetParameterValue("P_ISS_SETTL_DATE", Request.QueryString["p1"], "claims_summary");
                    rd.SetParameterValue("P_EVENT_CODE", Request.QueryString["p2"], "claims_summary");

                    rd.SetParameterValue("P_ISS_SETTL_DATE", Request.QueryString["p1"], "claims_net_amount");
                    rd.SetParameterValue("P_EVENT_CODE", Request.QueryString["p2"], "claims_net_amount");

                    rd.SetParameterValue("P_ISS_SETTL_DATE", Request.QueryString["p1"], "list_of_claims");
                    rd.SetParameterValue("P_EVENT_CODE", Request.QueryString["p2"], "list_of_claims");

                    rd.SetParameterValue("P_FINACLE_DATE", Request.QueryString["p1"], "FINACLE_UNMATCHED_TRANSACTIONS");
                    rd.SetParameterValue("P_EVENT_ID", Request.QueryString["p2"], "FINACLE_UNMATCHED_TRANSACTIONS");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "area_3_amounts");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "area_3_amounts");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "area_2_amounts");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "area_2_amounts");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "area_1_amounts");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "area_1_amounts");

                    rd.SetParameterValue("P_FINACLE_DATE", Request.QueryString["p1"], "finacle_amounts_details");
                    rd.SetParameterValue("P_EVENT_ID", Request.QueryString["p2"], "finacle_amounts_details");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "AFTER_AMOUNTS");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "AFTER_AMOUNTS");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "POS_AREA_1_Duplicate");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "POS_AREA_1_Duplicate");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "POS_AREA_2_Duplicate");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "POS_AREA_2_Duplicate");

                    /*   rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "POS_AREA_3_DUPLICATE");
                       rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "POS_AREA_3_DUPLICATE");*/

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "Before_Amounts");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "Before_Amounts");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "Duplicate_Amounts");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "Duplicate_Amounts");

                    rd.SetParameterValue("P_SETTL_DATE", Request.QueryString["p1"], "SAMA_AMOUNTS");
                    rd.SetParameterValue("P_EVENT_ID", Request.QueryString["p2"], "SAMA_AMOUNTS");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "NET_AMOUNT_1");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "NET_AMOUNT_1");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "DiffSAMA");
                    rd.SetParameterValue("P_SETTL_DATE", Request.QueryString["p1"], "DiffSAMA");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "DiffSAMA");

                    rd.SetParameterValue("P_FINACLE_DATE", Request.QueryString["p1"], "FinacleAmountsPOS");
                    rd.SetParameterValue("P_EVENT_ID", Request.QueryString["p2"], "FinacleAmountsPOS");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "AREA_1_NET_AMOUNT");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "AREA_1_NET_AMOUNT");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "AREA_2_NET_AMOUNT");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "AREA_2_NET_AMOUNT");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "AREA_3_NET_AMOUNT");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "AREA_3_NET_AMOUNT");

                    rd.SetParameterValue("P_ISS_SETTL_DATE", Request.QueryString["p1"], "CLAIMS_AMOUNTS");
                    rd.SetParameterValue("P_EVENT_CODE", Request.QueryString["p2"], "CLAIMS_AMOUNTS");

                    break;

                case 511:
                    rd.Load(Server.MapPath("Pool_Account_Proof_Report.rpt"));

                    rd.SetParameterValue("P_FINACLE_DATE", Request.QueryString["p1"]);
                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"]);
                    rd.SetParameterValue("P_SETTL_DATE", Request.QueryString["p1"]);

                    rd.SetParameterValue("P_EVENT_ID", Request.QueryString["p2"]);
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"]);

                    rd.SetParameterValue("formatedValueDate", Request.QueryString["p3"]);
                    rd.SetParameterValue("formatedSamaDate", Request.QueryString["p4"]);

                    rd.SetParameterValue("P_ISS_SETTL_DATE", Request.QueryString["p1"], "claims_summary");
                    rd.SetParameterValue("P_EVENT_CODE", Request.QueryString["p2"], "claims_summary");

                    rd.SetParameterValue("P_ISS_SETTL_DATE", Request.QueryString["p1"], "claims_net_amount");
                    rd.SetParameterValue("P_EVENT_CODE", Request.QueryString["p2"], "claims_net_amount");

                    rd.SetParameterValue("P_ISS_SETTL_DATE", Request.QueryString["p1"], "list_of_claims");
                    rd.SetParameterValue("P_EVENT_CODE", Request.QueryString["p2"], "list_of_claims");

                    rd.SetParameterValue("P_FINACLE_DATE", Request.QueryString["p1"], "FINACLE_UNMATCHED_TRANSACTIONS");
                    rd.SetParameterValue("P_EVENT_ID", Request.QueryString["p2"], "FINACLE_UNMATCHED_TRANSACTIONS");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "area_3_amounts1");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "area_3_amounts1");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "area_3_amounts");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "area_3_amounts");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "area_2_amounts");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "area_2_amounts");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "area_1_amounts");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "area_1_amounts");

                    rd.SetParameterValue("P_FINACLE_DATE", Request.QueryString["p1"], "finacle_amounts_details");
                    rd.SetParameterValue("P_EVENT_ID", Request.QueryString["p2"], "finacle_amounts_details");

                    rd.SetParameterValue("P_ISS_SETTL_DATE", Request.QueryString["p1"], "CLAIMS_AMOUNTS");
                    rd.SetParameterValue("P_EVENT_CODE", Request.QueryString["p2"], "CLAIMS_AMOUNTS");

                    break;


                case 512:

                    string reportType = Request.QueryString["p6"];

                    switch (reportType)
                    {
                        case "1":
                            rd.Load(Server.MapPath("Pool_Account_Proof_ATM_Claims.rpt"));

                            rd.SetParameterValue("P_ISS_SETTL_DATE_FROM", Request.QueryString["p1"]);
                            rd.SetParameterValue("P_ISS_SETTL_DATE_TO", Request.QueryString["p2"]);
                            rd.SetParameterValue("P_EVENT_CODE", Request.QueryString["p3"]);

                            rd.SetParameterValue("P_EVENT_ID", Request.QueryString["p3"]);

                            rd.SetParameterValue("formatedFromDate", Request.QueryString["p4"]);
                            rd.SetParameterValue("formatedToDate", Request.QueryString["p5"]);

                            rd.SetParameterValue("P_ISS_SETTL_DATE_FROM", Request.QueryString["p1"], "claims_summary");
                            rd.SetParameterValue("P_ISS_SETTL_DATE_TO", Request.QueryString["p2"], "claims_summary");
                            rd.SetParameterValue("P_EVENT_CODE", Request.QueryString["p3"], "claims_summary");

                            rd.SetParameterValue("P_ISS_SETTL_DATE_FROM", Request.QueryString["p1"], "claims_net_amount");
                            rd.SetParameterValue("P_ISS_SETTL_DATE_TO", Request.QueryString["p2"], "claims_net_amount");
                            rd.SetParameterValue("P_EVENT_CODE", Request.QueryString["p3"], "claims_net_amount");
                            break;
                        case "2":
                            rd.Load(Server.MapPath("Pool_Account_Proof_ATM_Claims_Details.rpt"));

                            rd.SetParameterValue("P_ISS_SETTL_DATE_FROM", Request.QueryString["p1"]);
                            rd.SetParameterValue("P_ISS_SETTL_DATE_TO", Request.QueryString["p2"]);
                            rd.SetParameterValue("P_EVENT_CODE", Request.QueryString["p3"]);

                            rd.SetParameterValue("P_EVENT_ID", Request.QueryString["p3"]);

                            rd.SetParameterValue("formatedFromDate", Request.QueryString["p4"]);
                            rd.SetParameterValue("formatedToDate", Request.QueryString["p5"]);

                            rd.SetParameterValue("P_ISS_SETTL_DATE_FROM", Request.QueryString["p1"], "ClaimPosting");
                            rd.SetParameterValue("P_ISS_SETTL_DATE_TO", Request.QueryString["p2"], "ClaimPosting");
                            rd.SetParameterValue("P_EVENT_CODE", Request.QueryString["p3"], "ClaimPosting");

                            rd.SetParameterValue("P_ISS_SETTL_DATE_FROM", Request.QueryString["p1"], "list_of_claims");
                            rd.SetParameterValue("P_ISS_SETTL_DATE_TO", Request.QueryString["p2"], "list_of_claims");
                            rd.SetParameterValue("P_EVENT_CODE", Request.QueryString["p3"], "list_of_claims");
                            break;
                        case "3":
                            rd.Load(Server.MapPath("Pool_Account_Proof_ATM_UnmatchDetails.rpt"));

                            rd.SetParameterValue("P_ISS_SETTL_DATE_FROM", Request.QueryString["p1"]);
                            rd.SetParameterValue("P_ISS_SETTL_DATE_TO", Request.QueryString["p2"]);
                            rd.SetParameterValue("P_EVENT_CODE", Request.QueryString["p3"]);

                            rd.SetParameterValue("P_EVENT_ID", Request.QueryString["p3"]);

                            rd.SetParameterValue("formatedFromDate", Request.QueryString["p4"]);
                            rd.SetParameterValue("formatedToDate", Request.QueryString["p5"]);

                            rd.SetParameterValue("P_FINACLE_DATE_FROM", Request.QueryString["p1"], "UnmatchedPosting");
                            rd.SetParameterValue("P_FINACLE_DATE_TO", Request.QueryString["p2"], "UnmatchedPosting");
                            rd.SetParameterValue("P_EVENT_ID", Request.QueryString["p3"], "UnmatchedPosting");

                            rd.SetParameterValue("P_FINACLE_DATE_FROM", Request.QueryString["p1"], "FINACLE_UNMATCH");
                            rd.SetParameterValue("P_FINACLE_DATE_TO", Request.QueryString["p2"], "FINACLE_UNMATCH");
                            rd.SetParameterValue("P_EVENT_ID", Request.QueryString["p3"], "FINACLE_UNMATCH");
                            break;
                    }



                    /*
               

                                    rd.SetParameterValue("P_ISS_SETTL_DATE_FROM", Request.QueryString["p1"], "ClaimsStatus");
                                    rd.SetParameterValue("P_ISS_SETTL_DATE_TO", Request.QueryString["p2"], "ClaimsStatus");
                                    rd.SetParameterValue("P_EVENT_CODE", Request.QueryString["p3"], "ClaimsStatus");

                

                                    rd.SetParameterValue("P_FINACLE_DATE_FROM", Request.QueryString["p1"], "UnMatchStatus");
                                    rd.SetParameterValue("P_FINACLE_DATE_TO", Request.QueryString["p2"], "UnMatchStatus");
                                    rd.SetParameterValue("P_EVENT_ID", Request.QueryString["p3"], "UnMatchStatus");

                

                                   */


                    break;


                case 513:


                    string reportType_POS = Request.QueryString["p6"];

                    switch (reportType_POS)
                    {
                        case "1":
                            rd.Load(Server.MapPath("Pool_Account_Proof_POS_Claims.rpt"));
                            rd.SetParameterValue("P_ISS_SETTL_DATE_FROM", Request.QueryString["p1"]);
                            rd.SetParameterValue("P_ISS_SETTL_DATE_TO", Request.QueryString["p2"]);
                            rd.SetParameterValue("P_EVENT_CODE", Request.QueryString["p3"]);
                            rd.SetParameterValue("P_EVENT_ID", Request.QueryString["p3"]);
                            rd.SetParameterValue("formatedFromDate", Request.QueryString["p4"]);
                            rd.SetParameterValue("formatedToDate", Request.QueryString["p5"]);
                            rd.SetParameterValue("P_ISS_SETTL_DATE_FROM", Request.QueryString["p1"], "claims_summary");
                            rd.SetParameterValue("P_ISS_SETTL_DATE_TO", Request.QueryString["p2"], "claims_summary");
                            rd.SetParameterValue("P_EVENT_CODE", Request.QueryString["p3"], "claims_summary");
                            rd.SetParameterValue("P_ISS_SETTL_DATE_FROM", Request.QueryString["p1"], "claims_net_amount");
                            rd.SetParameterValue("P_ISS_SETTL_DATE_TO", Request.QueryString["p2"], "claims_net_amount");
                            rd.SetParameterValue("P_EVENT_CODE", Request.QueryString["p3"], "claims_net_amount");
                            break;

                        case "2":
                            rd.Load(Server.MapPath("Pool_Account_Proof_ATM_Claims_Details.rpt"));

                            rd.SetParameterValue("P_ISS_SETTL_DATE_FROM", Request.QueryString["p1"]);
                            rd.SetParameterValue("P_ISS_SETTL_DATE_TO", Request.QueryString["p2"]);
                            rd.SetParameterValue("P_EVENT_CODE", Request.QueryString["p3"]);
                            rd.SetParameterValue("P_EVENT_ID", Request.QueryString["p3"]);
                            rd.SetParameterValue("formatedFromDate", Request.QueryString["p4"]);
                            rd.SetParameterValue("formatedToDate", Request.QueryString["p5"]);
                            rd.SetParameterValue("P_ISS_SETTL_DATE_FROM", Request.QueryString["p1"], "ClaimPosting");
                            rd.SetParameterValue("P_ISS_SETTL_DATE_TO", Request.QueryString["p2"], "ClaimPosting");
                            rd.SetParameterValue("P_EVENT_CODE", Request.QueryString["p3"], "ClaimPosting");
                            /*rd.SetParameterValue("P_ISS_SETTL_DATE_FROM", Request.QueryString["p1"], "ClaimsStatus");
                            rd.SetParameterValue("P_ISS_SETTL_DATE_TO", Request.QueryString["p2"], "ClaimsStatus");
                            rd.SetParameterValue("P_EVENT_CODE", Request.QueryString["p3"], "ClaimsStatus");*/
                            rd.SetParameterValue("P_ISS_SETTL_DATE_FROM", Request.QueryString["p1"], "list_of_claims");
                            rd.SetParameterValue("P_ISS_SETTL_DATE_TO", Request.QueryString["p2"], "list_of_claims");
                            rd.SetParameterValue("P_EVENT_CODE", Request.QueryString["p3"], "list_of_claims");
                            break;

                        case "3":
                            rd.Load(Server.MapPath("Pool_Account_Proof_POS_UnmatchDetails.rpt"));

                            rd.SetParameterValue("P_ISS_SETTL_DATE_FROM", Request.QueryString["p1"]);
                            rd.SetParameterValue("P_ISS_SETTL_DATE_TO", Request.QueryString["p2"]);
                            rd.SetParameterValue("P_EVENT_CODE", Request.QueryString["p3"]);
                            rd.SetParameterValue("P_EVENT_ID", Request.QueryString["p3"]);
                            rd.SetParameterValue("formatedFromDate", Request.QueryString["p4"]);
                            rd.SetParameterValue("formatedToDate", Request.QueryString["p5"]);
                            rd.SetParameterValue("P_FINACLE_DATE_FROM", Request.QueryString["p1"], "UnmatchedPosting");
                            rd.SetParameterValue("P_FINACLE_DATE_TO", Request.QueryString["p2"], "UnmatchedPosting");
                            rd.SetParameterValue("P_EVENT_ID", Request.QueryString["p3"], "UnmatchedPosting");

                            /* rd.SetParameterValue("P_FINACLE_DATE_FROM", Request.QueryString["p1"], "UnMatchStatus");
                             rd.SetParameterValue("P_FINACLE_DATE_TO", Request.QueryString["p2"], "UnMatchStatus");
                             rd.SetParameterValue("P_EVENT_ID", Request.QueryString["p3"], "UnMatchStatus");*/

                            rd.SetParameterValue("P_FINACLE_DATE_FROM", Request.QueryString["p1"], "Period_Unmatch");
                            rd.SetParameterValue("P_FINACLE_DATE_TO", Request.QueryString["p2"], "Period_Unmatch");
                            rd.SetParameterValue("P_EVENT_ID", Request.QueryString["p3"], "Period_Unmatch");


                            break;
                    }
                    break;

                case 514:

                    rd.Load(Server.MapPath("Un-reconciled_terminals.rpt"));
                    rd.SetParameterValue("P_DATE", Request.QueryString["p1"]);

                    break;

                case 515:
                    rd.Load(Server.MapPath("GL_POSTING_POS_DETAILS.rpt"));
                    rd.SetParameterValue("P_DATE", Request.QueryString["p1"]);
                    rd.SetParameterValue("P_CHANNEL_TYPE", Request.QueryString["p2"]);

                    rd.SetParameterValue("P_DATE", Request.QueryString["p1"], "sub_GL_Transaction_details");
                    rd.SetParameterValue("P_CHANNEL_TYPE", Request.QueryString["p2"], "sub_GL_Transaction_details");
                    break;

                case 518:
                    rd.Load(Server.MapPath("GL_POSTING_ECOM_DETAILS.rpt"));
                    rd.SetParameterValue("P_DATE", Request.QueryString["p1"]);
                    rd.SetParameterValue("P_CHANNEL_TYPE", Request.QueryString["p2"]);

                    rd.SetParameterValue("P_DATE", Request.QueryString["p1"], "sub_GL_Transaction_details");
                    rd.SetParameterValue("P_CHANNEL_TYPE", Request.QueryString["p2"], "sub_GL_Transaction_details");
                    break;

                case 520:
                    rd.Load(Server.MapPath("Pool_Account_Proof_POS.rpt"));

                    rd.SetParameterValue("P_FINACLE_DATE", Request.QueryString["p1"]);
                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"]);
                    rd.SetParameterValue("P_SETTL_DATE", Request.QueryString["p1"]);

                    rd.SetParameterValue("P_EVENT_ID", Request.QueryString["p2"]);
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"]);

                    rd.SetParameterValue("formatedValueDate", Request.QueryString["p3"]);
                    rd.SetParameterValue("formatedSamaDate", Request.QueryString["p4"]);

                    rd.SetParameterValue("P_ISS_SETTL_DATE", Request.QueryString["p1"], "claims_summary");
                    rd.SetParameterValue("P_EVENT_CODE", Request.QueryString["p2"], "claims_summary");

                    rd.SetParameterValue("P_ISS_SETTL_DATE", Request.QueryString["p1"], "claims_net_amount");
                    rd.SetParameterValue("P_EVENT_CODE", Request.QueryString["p2"], "claims_net_amount");

                    rd.SetParameterValue("P_ISS_SETTL_DATE", Request.QueryString["p1"], "list_of_claims");
                    rd.SetParameterValue("P_EVENT_CODE", Request.QueryString["p2"], "list_of_claims");

                    rd.SetParameterValue("P_FINACLE_DATE", Request.QueryString["p1"], "FINACLE_UNMATCHED_TRANSACTIONS");
                    rd.SetParameterValue("P_EVENT_ID", Request.QueryString["p2"], "FINACLE_UNMATCHED_TRANSACTIONS");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "area_3_amounts");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "area_3_amounts");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "area_2_amounts");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "area_2_amounts");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "area_1_amounts");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "area_1_amounts");

                    rd.SetParameterValue("P_FINACLE_DATE", Request.QueryString["p1"], "finacle_amounts_details");
                    rd.SetParameterValue("P_EVENT_ID", Request.QueryString["p2"], "finacle_amounts_details");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "AFTER_AMOUNTS");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "AFTER_AMOUNTS");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "POS_AREA_1_Duplicate");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "POS_AREA_1_Duplicate");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "POS_AREA_2_Duplicate");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "POS_AREA_2_Duplicate");

                    /*   rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "POS_AREA_3_DUPLICATE");
                       rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "POS_AREA_3_DUPLICATE");*/

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "Before_Amounts");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "Before_Amounts");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "Duplicate_Amounts");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "Duplicate_Amounts");

                    rd.SetParameterValue("P_SETTL_DATE", Request.QueryString["p1"], "SAMA_AMOUNTS");
                    rd.SetParameterValue("P_EVENT_ID", Request.QueryString["p2"], "SAMA_AMOUNTS");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "NET_AMOUNT_1");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "NET_AMOUNT_1");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "DiffSAMA");
                    rd.SetParameterValue("P_SETTL_DATE", Request.QueryString["p1"], "DiffSAMA");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "DiffSAMA");

                    rd.SetParameterValue("P_FINACLE_DATE", Request.QueryString["p1"], "FinacleAmountsPOS");
                    rd.SetParameterValue("P_EVENT_ID", Request.QueryString["p2"], "FinacleAmountsPOS");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "AREA_1_NET_AMOUNT");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "AREA_1_NET_AMOUNT");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "AREA_2_NET_AMOUNT");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "AREA_2_NET_AMOUNT");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "AREA_3_NET_AMOUNT");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "AREA_3_NET_AMOUNT");

                    rd.SetParameterValue("P_ISS_SETTL_DATE", Request.QueryString["p1"], "CLAIMS_AMOUNTS");
                    rd.SetParameterValue("P_EVENT_CODE", Request.QueryString["p2"], "CLAIMS_AMOUNTS");

                    break;

                case 1049:
                    rd.Load(Server.MapPath("Group_Details_Report.rpt"));

                    rd.SetParameterValue("P_CURRENT_UID", Request.QueryString["p1"]);
                    rd.SetParameterValue("P_GID", Request.QueryString["p2"]);

                    rd.SetParameterValue("P_GROUP_ID", Request.QueryString["p2"], "subReport_PermittedFunctions");
                    rd.SetParameterValue("P_CURRENT_USER_ID", Request.QueryString["p1"], "subReport_PermittedFunctions");

                    rd.SetParameterValue("P_GROUP_ID", Request.QueryString["p2"], "subReport_permittedReports");
                    rd.SetParameterValue("P_CURRENT_USER_ID", Request.QueryString["p1"], "subReport_permittedReports");

                    rd.SetParameterValue("P_GID", Request.QueryString["p2"], "subReport_AssignedUsers");
                    rd.SetParameterValue("P_CURRENT_UID", Request.QueryString["p1"], "subReport_AssignedUsers");
                    break;

                case 1050:
                    rd.Load(Server.MapPath("User_Activities_Report.rpt"));
                    rd.SetParameterValue("P_USER_ID", Request.QueryString["p1"]);
                    rd.SetParameterValue("P_FROM_DATE", Request.QueryString["p2"]);
                    rd.SetParameterValue("P_TO_DATE", Request.QueryString["p3"]);
                    break;


                case 1052:
                    rd.Load(Server.MapPath("Group_Activity_Report.rpt"));
                    rd.SetParameterValue("P_CURRENT_USER_ID", Request.QueryString["p1"]);
                    rd.SetParameterValue("P_GROUP_ID", Request.QueryString["p2"]);
                    rd.SetParameterValue("P_GROUP_NAME", Request.QueryString["p3"]);
                    break;

                case 1051:
                    string p2, p3, p4;

                    p2 = Request.QueryString["p2"];
                    p3 = Request.QueryString["p3"];
                    p4 = Request.QueryString["p4"];

                    rd.Load(Server.MapPath("User_Violations_Report.rpt"));
                    rd.SetParameterValue("P_CURRENT_UID", Request.QueryString["p1"]);

                    if (p2.Equals("null"))
                    {
                        rd.SetParameterValue("P_USER_ID", null);
                    }
                    else
                    {
                        rd.SetParameterValue("P_USER_ID", p2);
                    }

                    if (p3.Equals("null"))
                    {
                        rd.SetParameterValue("P_FROM_DATE", null);
                    }
                    else
                    {
                        rd.SetParameterValue("P_FROM_DATE", p3);
                    }

                    if (p4.Equals("null"))
                    {
                        rd.SetParameterValue("P_TO_DATE", null);
                    }
                    else
                    {
                        rd.SetParameterValue("P_TO_DATE", p4);
                    }
                    break;

                case 1053:
                    rd.Load(Server.MapPath("RptSamaClaims.rpt"));

                    if (Request.QueryString["p1"] == "")
                        rd.SetParameterValue("P_TERM_ID", null);
                    else
                        rd.SetParameterValue("P_TERM_ID", Request.QueryString["p1"]);

                    if (Request.QueryString["p2"] == "")
                        rd.SetParameterValue("P_TRAN_FROM_DATE", null);
                    else
                        rd.SetParameterValue("P_TRAN_FROM_DATE", Request.QueryString["p2"]);

                    if (Request.QueryString["p3"] == "")
                        rd.SetParameterValue("P_TRAN_TO_DATE", null);
                    else
                        rd.SetParameterValue("P_TRAN_TO_DATE", Request.QueryString["p3"]);

                    if (Request.QueryString["p4"] == "")
                        rd.SetParameterValue("P_SAMA_FROM_DATE", null);
                    else
                        rd.SetParameterValue("P_SAMA_FROM_DATE", Request.QueryString["p4"]);

                    if (Request.QueryString["p5"] == "")
                        rd.SetParameterValue("P_SAMA_TO_DATE", null);
                    else
                        rd.SetParameterValue("P_SAMA_TO_DATE", Request.QueryString["p5"]);

                    if (Request.QueryString["p6"].Trim() == "")
                    {
                        rd.SetParameterValue("P_CLAIM_STATUS", null);
                        rd.SetParameterValue("P_CLAIM_STATUS_DESC", "All");
                    }
                    else
                    {
                        rd.SetParameterValue("P_CLAIM_STATUS", Request.QueryString["p6"].Trim());
                        rd.SetParameterValue("P_CLAIM_STATUS_DESC", Request.QueryString["p13"].Trim());
                    }

                    if (Request.QueryString["p7"] == "")
                    {
                        rd.SetParameterValue("P_CLAIM_TYPE", null);
                        rd.SetParameterValue("P_CLAIM_TYPE_DESC", "All");
                    }
                    else
                    {
                        rd.SetParameterValue("P_CLAIM_TYPE", Request.QueryString["p7"]);
                        rd.SetParameterValue("P_CLAIM_TYPE_DESC", Request.QueryString["p14"]);
                    }

                    if (Request.QueryString["p8"] == "")
                    {
                        rd.SetParameterValue("P_ISSUER", null);
                        rd.SetParameterValue("P_ISSUER_DESC", "All");
                    }
                    else
                    {
                        rd.SetParameterValue("P_ISSUER", Request.QueryString["p8"]);
                        rd.SetParameterValue("P_ISSUER_DESC", Request.QueryString["p15"]);
                    }

                    if (Request.QueryString["p9"] == "")
                    {
                        rd.SetParameterValue("P_ACQUIRER", null);
                        rd.SetParameterValue("P_ACQUIRER_DESC", "All");
                    }
                    else
                    {
                        rd.SetParameterValue("P_ACQUIRER", Request.QueryString["p9"]);
                        rd.SetParameterValue("P_ACQUIRER_DESC", Request.QueryString["p16"]);
                    }

                    if (Request.QueryString["p10"] == "")
                    {
                        rd.SetParameterValue("P_ON_OF", null);
                        rd.SetParameterValue("P_ON_OF_DESC", "All");
                    }
                    else
                    {
                        rd.SetParameterValue("P_ON_OF", Request.QueryString["p10"]);
                        rd.SetParameterValue("P_ON_OF_DESC", Request.QueryString["p17"]);
                    }

                    if (int.Parse(Request.QueryString["p11"]) == 0)
                    {
                        rd.SetParameterValue("P_PRODUCT", null);
                        rd.SetParameterValue("P_PRODUCT_DESC", "All");
                    }
                    else
                    {
                        rd.SetParameterValue("P_PRODUCT", Request.QueryString["p11"]);
                        rd.SetParameterValue("P_PRODUCT_DESC", Request.QueryString["p18"]);
                    }

                    rd.SetParameterValue("P_CURRENT_UID", Request.QueryString["p12"]);


                    break;
                case 1054:
                    rd.Load(Server.MapPath("RptNonReplenishedATMs.rpt"));
                    rd.SetParameterValue("P_USERNAME", Request.QueryString["p1"]);
                    rd.SetParameterValue("P_DATE", Request.QueryString["p2"]);
                    rd.SetParameterValue("P_ATM_TYPE", Request.QueryString["p3"]);

                    break;

                case 1055:
                    rd.Load(Server.MapPath("RptMISConsolidated.rpt"));
                    rd.SetParameterValue("P_CURRENT_UID", Request.QueryString["p1"]);
                    break;
                case 1056:
                    rd.Load(Server.MapPath("RptSamaMonthlyClaims.rpt"));
                    rd.SetParameterValue("p_current_id", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_month", Request.QueryString["p2"]);
                    rd.SetParameterValue("p_type", Request.QueryString["p3"]);
                    rd.SetParameterValue("p_product", null);
                    break;
                case 1057:
                    rd.Load(Server.MapPath("RptSamaMonthlyClaimsComp.rpt"));
                    rd.SetParameterValue("p_current_id", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_month", Request.QueryString["p2"]);

                    break;
                case 1058:
                    rd.Load(Server.MapPath("RptOnlinePosting.rpt"));
                    rd.SetParameterValue("p_username", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_fromdate", Request.QueryString["p2"]);
                    rd.SetParameterValue("p_todate", Request.QueryString["p3"]);

                    rd.SetParameterValue("p_username", Request.QueryString["p1"], "Online_Transactions_details");
                    rd.SetParameterValue("p_fromdate", Request.QueryString["p2"], "Online_Transactions_details");
                    rd.SetParameterValue("p_todate", Request.QueryString["p3"], "Online_Transactions_details");
                    break;
                case 516:

                    /* rd.Load(Server.MapPath("Merchant_Daily_Report.rpt"));
                     rd.SetParameterValue("P_USERNAME", Request.QueryString["p1"]);
                     rd.SetParameterValue("P_DATE", Request.QueryString["p2"]);
                     if (Request.QueryString["p3"].Length > 0)
                         rd.SetParameterValue("p_retailer_id", Request.QueryString["p3"]);
                     else
                         rd.SetParameterValue("p_retailer_id", null);
                     if (Request.QueryString["p4"].Length > 0)
                         rd.SetParameterValue("p_term_id", Request.QueryString["p4"]);
                     else
                         rd.SetParameterValue("p_term_id", null);
                    
                     */
                    rd.Load(Server.MapPath("Merchant_DateRange_Report.rpt"));
                    rd.SetParameterValue("P_USERNAME", Request.QueryString["p1"]);
                    rd.SetParameterValue("P_FROM_DATE", Request.QueryString["p2"]);
                    rd.SetParameterValue("P_TO_DATE", Request.QueryString["p3"]);

                    if (Request.QueryString["p4"].Length > 0)
                        rd.SetParameterValue("p_retailer_id", Request.QueryString["p4"]);
                    else
                        rd.SetParameterValue("p_retailer_id", null);
                    if (Request.QueryString["p5"].Length > 0)
                        rd.SetParameterValue("p_term_id", Request.QueryString["p5"]);
                    else
                        rd.SetParameterValue("p_term_id", null);

                    break;
                case 517:

                    rd.Load(Server.MapPath("Merchant_Monthly_Report.rpt"));
                    rd.SetParameterValue("P_USERNAME", Request.QueryString["p1"]);
                    rd.SetParameterValue("P_MONTH", Request.QueryString["p2"]);
                    if (Request.QueryString["p3"].Length > 0)
                        rd.SetParameterValue("p_retailer_id", Request.QueryString["p3"]);
                    else
                        rd.SetParameterValue("p_retailer_id", null);
                    if (Request.QueryString["p4"].Length > 0)
                        rd.SetParameterValue("p_term_id", Request.QueryString["p4"]);
                    else
                        rd.SetParameterValue("p_term_id", null);
                    break;

                case 1060: //
                    rd.Load(Server.MapPath("AutoApproveClaim.rpt"));
                    rd.SetParameterValue("P_DATE", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_user_id", Request.QueryString["p2"]);

                    break;
                //Merchant reports
                case 601:
                    //BASE24
                    rd.Load(Server.MapPath("New Reports/RptMerCR_b24.rpt"));
                    rd.SetParameterValue("ClientNumber", Request.QueryString["p1"]);
                    rd.SetParameterValue("Date_", DateTime.Now.ToShortDateString());
                    rd.SetParameterValue("ACTION", Session["601"].ToString());
                    break;

                case 602:
                    //INSTALLATION
                    rd.Load(Server.MapPath("New Reports/RptMer_TMS.rpt"));
                    rd.SetParameterValue("ClientNumber", Request.QueryString["p1"]);
                    break;

                case 603:
                    //VISA-MASTERCARD
                    rd.Load(Server.MapPath("New Reports/RptMer_Visa.rpt"));
                    rd.SetParameterValue("ClientNumber", Request.QueryString["p1"]);
                    rd.SetParameterValue("date_", DateTime.Now.ToShortDateString());
                    rd.SetParameterValue("ACTION", Session["603"].ToString());
                    break;

                case 605:
                    //SAMA
                    rd.Load(Server.MapPath("New Reports/RptMerCR_SAMA.rpt"));
                    rd.SetParameterValue("ClientNumber", Request.QueryString["p1"]);
                    rd.SetParameterValue("ACTION", Session["605_1"].ToString());
                    rd.SetParameterValue("REASON", Session["605_2"].ToString());
                    break;

                case 604:
                    //ALL MERCHANTS
                    rd.Load(Server.MapPath("New Reports/RptAllMer.rpt"));
                    rd.SetParameterValue("OrganizationID", null);
                    break;
                case 606:
                    //ALL Stores
                    rd.Load(Server.MapPath("New Reports/RptAllStores.rpt"));
                    break;

                case 840:
                    //Contactless and Offline
                    rd.Load(Server.MapPath("RptContactless_Offline.rpt"));
                    rd.SetParameterValue("P_USER", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_tran_type", Request.QueryString["p2"]);
                    rd.SetParameterValue("P_FROM_DATE", Request.QueryString["p3"]);
                    rd.SetParameterValue("P_TO_DATE", Request.QueryString["p4"]);


                    break;
                case 850:
                    //SPAN Out of balance
                    rd.Load(Server.MapPath("RptSPAN_Term_Out_Of_Balance.rpt"));
                    rd.SetParameterValue("p_uid", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_date", Request.QueryString["p2"]);

                    break;
                case 860:
                    //span merchant debit report
                    rd.Load(Server.MapPath("RptSpanMerchantDebit.rpt"));
                    rd.SetParameterValue("p_uid", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_date", Request.QueryString["p2"]);

                    break;

                case 870:
                    //Terminal Order Report
                    rd.Load(Server.MapPath("Terminal_Order_Report.rpt"));
                    rd.SetParameterValue("p_Record_id", Request.QueryString["p1"]);


                    break;

                case 871:
                    //Terminal Order Report (ALL)
                    rd.Load(Server.MapPath("Terminal_Order_Report_All.rpt"));
                    rd.SetParameterValue("p_date", Request.QueryString["p1"]);
                    break;

                case 900:
                    //span merchant debit report
                    rd.Load(Server.MapPath("VisaMatch.rpt"));
                    rd.SetParameterValue("P_USERNAME", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_date", Request.QueryString["p2"]);
                    break;

                case 910:
                    //span merchant debit report
                    rd.Load(Server.MapPath("VisaNonMatchRecon.rpt"));
                    rd.SetParameterValue("P_USERNAME", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_date", Request.QueryString["p2"]);
                    break;

                case 920:
                    //span merchant debit report
                    rd.Load(Server.MapPath("VisaNonMatchTran.rpt"));
                    rd.SetParameterValue("P_USERNAME", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_date", Request.QueryString["p2"]);

                    string strDateTime = Request.QueryString["p2"];
                    DateTime dt = new DateTime(int.Parse("20" + strDateTime.Substring(0, 2)), int.Parse(strDateTime.Substring(2, 2)),
                   int.Parse(strDateTime.Substring(4, 2)));

                    dt = dt.AddMonths(-1);
                    strDateTime = dt.ToString("yyMMdd");
                    rd.SetParameterValue("p_from_date", strDateTime);

                    break;

                case 930:
                    //span merchant debit report
                    rd.Load(Server.MapPath("VisaRePresentment.rpt"));
                    rd.SetParameterValue("P_USERNAME", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_date", Request.QueryString["p2"]);
                    break;
                case 940:
                    //span merchant debit report
                    rd.Load(Server.MapPath("VisaMonthlyNonMatchTran.rpt"));
                    rd.SetParameterValue("P_USERNAME", Request.QueryString["p1"]);
                    rd.SetParameterValue("P_FROM_DATE", Request.QueryString["p2"]);
                    rd.SetParameterValue("P_TO_DATE", Request.QueryString["p3"]);
                    break;
                case 950:
                    //Failure Coin Deposit Transaction
                    rd.Load(Server.MapPath("RptDepTxnExe.rpt"));
                    rd.SetParameterValue("P_USERNAME", Request.QueryString["p1"]);
                    rd.SetParameterValue("p_date", Request.QueryString["p2"]);
                    break;

                case 519:  // GCC POS POOL Proof account
                    rd.Load(Server.MapPath("Pool_Account_Proof_GCC_POS_Report.rpt"));

                    rd.SetParameterValue("P_FINACLE_DATE", Request.QueryString["p1"]);
                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"]);
                    rd.SetParameterValue("P_SETTL_DATE", Request.QueryString["p1"]);

                    rd.SetParameterValue("P_EVENT_ID", Request.QueryString["p2"]);
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"]);

                    rd.SetParameterValue("formatedValueDate", Request.QueryString["p3"]);
                    rd.SetParameterValue("formatedSamaDate", Request.QueryString["p4"]);

                    rd.SetParameterValue("P_ISS_SETTL_DATE", Request.QueryString["p1"], "claims_summary");
                    rd.SetParameterValue("P_EVENT_CODE", Request.QueryString["p2"], "claims_summary");

                    rd.SetParameterValue("P_ISS_SETTL_DATE", Request.QueryString["p1"], "claims_net_amount");
                    rd.SetParameterValue("P_EVENT_CODE", Request.QueryString["p2"], "claims_net_amount");

                    rd.SetParameterValue("P_ISS_SETTL_DATE", Request.QueryString["p1"], "list_of_claims");
                    rd.SetParameterValue("P_EVENT_CODE", Request.QueryString["p2"], "list_of_claims");

                    rd.SetParameterValue("P_FINACLE_DATE", Request.QueryString["p1"], "FINACLE_UNMATCHED_TRANSACTIONS");
                    rd.SetParameterValue("P_EVENT_ID", Request.QueryString["p2"], "FINACLE_UNMATCHED_TRANSACTIONS");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "area_3_amounts");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "area_3_amounts");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "area_2_amounts");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "area_2_amounts");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "area_1_amounts");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "area_1_amounts");

                    rd.SetParameterValue("P_FINACLE_DATE", Request.QueryString["p1"], "finacle_amounts_details");
                    rd.SetParameterValue("P_EVENT_ID", Request.QueryString["p2"], "finacle_amounts_details");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "AFTER_AMOUNTS");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "AFTER_AMOUNTS");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "POS_AREA_1_Duplicate");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "POS_AREA_1_Duplicate");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "POS_AREA_2_Duplicate");
                     rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "POS_AREA_2_Duplicate");

                     /* rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "POS_AREA_3_DUPLICATE");
                        rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "POS_AREA_3_DUPLICATE");*/

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "Before_Amounts");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "Before_Amounts");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "Duplicate_Amounts");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "Duplicate_Amounts");

                    rd.SetParameterValue("P_SETTL_DATE", Request.QueryString["p1"], "SAMA_AMOUNTS");
                    rd.SetParameterValue("P_EVENT_ID", Request.QueryString["p2"], "SAMA_AMOUNTS");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "NET_AMOUNT_1");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "NET_AMOUNT_1");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "DiffSAMA");
                    rd.SetParameterValue("P_SETTL_DATE", Request.QueryString["p1"], "DiffSAMA");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "DiffSAMA");

                    rd.SetParameterValue("P_FINACLE_DATE", Request.QueryString["p1"], "FinacleAmountsPOS");
                    rd.SetParameterValue("P_EVENT_ID", Request.QueryString["p2"], "FinacleAmountsPOS");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "AREA_1_NET_AMOUNT");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "AREA_1_NET_AMOUNT");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "AREA_2_NET_AMOUNT");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "AREA_2_NET_AMOUNT");

                    rd.SetParameterValue("P_VALUE_DATE", Request.QueryString["p1"], "AREA_3_NET_AMOUNT");
                    rd.SetParameterValue("P_EVENT_TYPE", Request.QueryString["p2"], "AREA_3_NET_AMOUNT");

                    rd.SetParameterValue("P_ISS_SETTL_DATE", Request.QueryString["p1"], "CLAIMS_AMOUNTS");
                    rd.SetParameterValue("P_EVENT_CODE", Request.QueryString["p2"], "CLAIMS_AMOUNTS");

                    break;

            }

            string server = "";
            server = ConfigurationSettings.AppSettings["DBServer"];
            string user = Helper.Decrypt_String(ConfigurationSettings.AppSettings["DBUser"]);
            string userA = Helper.Decrypt_String(ConfigurationSettings.AppSettings["DBUserA"]);
            string pass = Helper.Decrypt_String(ConfigurationSettings.AppSettings["DBPass"]);
            string passA = Helper.Decrypt_String(ConfigurationSettings.AppSettings["DBPassA"]);

            if (Session["mode"].ToString().Equals("l"))
            {
                rd.SetDatabaseLogon(user, pass, server, "");

            }
            else
            {
                rd.SetDatabaseLogon(userA, passA, server, "");
            }

            rd.Database.Tables[0].LogOnInfo.ConnectionInfo.ServerName = server;
            CrystalReportViewer1.ReportSource = rd;
            ViewState["Report"] = rd.FileName;

            ExceptionUtility.LogException(0, "", "", "Page_Load", "");
        }
        catch (Exception ex)
        {
            ExceptionUtility.LogException(ex, "", "", "Page_Load", "");
            lblError.Visible = true;
            lblError.Text = ex.Message;
            Response.Redirect("../ErrorPages/ErrorPage.aspx");
        }
    }
    protected void CrystalReportViewer1_Error(object source, CrystalDecisions.Web.ErrorEventArgs e)
    {
        Exception ex;
        ex = e.AspNetLifeCycleException;
        if (!ex.Message.Contains("Thread was being aborted."))
        {
            ExceptionUtility.LogException(ex, "", "", "CrystalReportViewer1_Error", ViewState["Report"].ToString());
            Response.Redirect("../ErrorPages/ErrorPage.aspx");
        }
    }
}
