protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            string   strParams = Request.QueryString["params"];
            string[] strVal    = strParams.Split(',');

            if (strVal[4].Trim() == "S")
            {
                lblMonth.Text = "Payslip for the Month of " + strVal[1] + ", " + strVal[2];
            }
            else
            {
                lblMonth.Text = "Festival Allowance - " + strVal[1] + " " + strVal[2];
            }

            // Get Employee Personal data
            DataTable dtPersonal = objEmp.SelectEmpPayslipPersonalInfo(strVal[3].Trim());
            if (dtPersonal.Rows.Count > 0)
            {
                lblID.Text       = dtPersonal.Rows[0]["EmpId"].ToString().Trim();
                lblName.Text     = dtPersonal.Rows[0]["FULLNAME"].ToString().Trim();
                lblGrade.Text    = dtPersonal.Rows[0]["GradeName"].ToString().Trim();
                lblJobTitle.Text = dtPersonal.Rows[0]["JobTitleName"].ToString().Trim();
                lblBankAc.Text   = dtPersonal.Rows[0]["BankAccNo"].ToString().Trim();
                lblDesig.Text    = dtPersonal.Rows[0]["DesigName"].ToString().Trim();
                lblPostDiv.Text  = dtPersonal.Rows[0]["PostingDivName"].ToString().Trim();
                lblDept.Text     = dtPersonal.Rows[0]["DeptName"].ToString().Trim();
                lblPostDist.Text = dtPersonal.Rows[0]["PostingDistName"].ToString().Trim();
                lblSalLoc.Text   = dtPersonal.Rows[0]["SalLocName"].ToString().Trim();
                lblPostPla.Text  = dtPersonal.Rows[0]["PostingPlaceName"].ToString().Trim();
                lblSalDiv.Text   = dtPersonal.Rows[0]["SalSubLocName"].ToString().Trim();
            }
            DataTable dt = new DataTable();
            dt = (DataTable)objPayRptMgr.GetPayslipMonthlyGrossAndBenefits(strVal[3].Trim(), strVal[0].Trim(), strVal[2].Trim(), strVal[4].Trim());

            grGrossandBenefits.DataSource = dt;
            grGrossandBenefits.DataBind();
            clscashword cal      = new clscashword();
            int         nouOfRow = dt.Rows.Count;
            if (string.IsNullOrEmpty(dt.Rows[nouOfRow - 1]["PAYAMT"].ToString().Trim()) == false)
            {
                lblTakaInWord.Text = "<b>In Words : </b>" + cal.getCashWord(Common.ReturnZeroForNull(dt.Rows[nouOfRow - 1]["PAYAMT"].ToString().Trim())); //nouOfRow.ToString();
            }
            dt.Rows.Clear();
            lblRemarks.Text = objPayRptMgr.GetPayrollRemarksForPayslip(strVal[3].Trim(), strVal[0].Trim(), strVal[2].Trim(), strVal[4].Trim());
            if (string.IsNullOrEmpty(lblRemarks.Text) == false)
            {
                lblRemarks.Text = "* " + lblRemarks.Text;
            }

            this.FormatGrossAndBenefitsGrid();
            this.FormatDeductionGrid();
        }
    }
    protected void GenerateReport(string strMonth, string strYear, string strEmpID, string IsFromPayroll)
    {
        dsFinalPayment objFinalPay = new dsFinalPayment();

        ReportDoc  = new ReportDocument();
        ReportPath = Server.MapPath("~/CrystalReports/Payroll/rptFinalPayment.rpt");

        DataTable dtTmp = objGrMgr.GetFinalPaymentData(strMonth, strYear, strEmpID, IsFromPayroll);

        foreach (DataRow dRow in dtTmp.Rows)
        {
            clscashword objWord = new clscashword();
            DataRow     nRow    = objFinalPay.dtFinalPayment.NewRow();

            nRow["EmpId"]          = dRow["EmpId"];
            nRow["FullName"]       = dRow["FullName"];
            nRow["JobTitle"]       = dRow["JobTitleName"];
            nRow["JoiningDate"]    = dRow["JoiningDate"];
            nRow["SEPERATEDATE"]   = dRow["SeparateDate"];
            nRow["SeparationType"] = dRow["SeparateTypeId"];
            nRow["Salary"]         = dRow["Salary"];
            nRow["SalayUpto"]      = dRow["SalayUpto"];
            nRow["Bonus"]          = dRow["Bonus"];
            nRow["SalaryMinBonus"] = dRow["SalaryMinBonus"];
            nRow["BonusDays"]      = dRow["BonusDays"];
            nRow["Gratuity"]       = dRow["Gratuity"];
            nRow["GrPayDate"]      = dRow["GrPayDate"];
            nRow["LeaveEncash"]    = dRow["LeaveEncash"];
            nRow["AnnualLeave"]    = dRow["AnnualLeave"];
            nRow["PFAmount"]       = dRow["PFAmount"];
            nRow["TotalAmt"]       = dRow["TotalAmt"];
            nRow["InWord"]         = objWord.getCashWord(dRow["TotalAmt"].ToString());
            nRow["BasicSalary"]    = dRow["BasicSalary"];
            nRow["BONUSALLOW"]     = dRow["BONUSALLOW"];

            objFinalPay.dtFinalPayment.Rows.Add(nRow);
        }
        objFinalPay.dtFinalPayment.AcceptChanges();

        ReportDoc.Load(ReportPath);
        ReportDoc.SetDataSource(objFinalPay.Tables["dtFinalPayment"]);
        CRV.ReportSource = ReportDoc;
    }