Пример #1
0
 protected void rcmb_BusinessUnit_SelectedIndexChanged(object o, RadComboBoxSelectedIndexChangedEventArgs e)
 {
     try
     {
         rcmb_Employee.Items.Clear();
         rv_DailyLog.Style.Add("Display", "none");
         SMHR_LEAVEAPP _obj_Smhr_LeaveApp = new SMHR_LEAVEAPP();
         _obj_Smhr_LeaveApp.MODE            = 2;
         _obj_Smhr_LeaveApp.BUSINESSUNIT_ID = Convert.ToInt32(rcmb_BusinessUnit.SelectedItem.Value);
         DataTable dtemp = BLL.get_EmpLeaveDetails(_obj_Smhr_LeaveApp);
         rcmb_Employee.DataSource = dtemp;
         if (dtemp.Rows.Count != 0)
         {
             rcmb_Employee.DataTextField  = "EMPNAME";
             rcmb_Employee.DataValueField = "EMP_ID";
             rcmb_Employee.DataBind();
             rcmb_Employee.Items.Insert(0, new Telerik.Web.UI.RadComboBoxItem("Select", "-1"));
         }
         else
         {
             BLL.ShowMessage(this, "There are No employees in this Business Unit, Please select another");
             return;
         }
     }
     catch (Exception ex)
     {
         SMHR.BLL.Error_Log(Session["USER_ID"].ToString(), ex.TargetSite.ToString(), ex.Message.Replace("'", "''"), "frm_dailylogreport", ex.StackTrace, DateTime.Now);
         Response.Redirect("~/Frm_ErrorPage.aspx");
     }
 }
 protected void rcmb_BusinessUnit_SelectedIndexChanged(object o, Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs e)
 {
     try
     {
         rcmb_Employee.Items.Clear();
         SMHR_LEAVEAPP _obj_Smhr_LeaveApp = new SMHR_LEAVEAPP();
         _obj_Smhr_LeaveApp.MODE            = 2;
         _obj_Smhr_LeaveApp.BUSINESSUNIT_ID = Convert.ToInt32(rcmb_BusinessUnit.SelectedItem.Value);
         DataTable dt = BLL.get_EmpLeaveDetails(_obj_Smhr_LeaveApp);
         rcmb_Employee.DataSource     = dt;
         rcmb_Employee.DataTextField  = "EMPNAME";
         rcmb_Employee.DataValueField = "EMP_ID";
         rcmb_Employee.DataBind();
         rcmb_Employee.Items.Insert(0, new Telerik.Web.UI.RadComboBoxItem("Select", "0"));
         // if we select other businessunit only employees get loading but grid is not refreshing
         rg_EmployeeWise.DataSource = null;
         rg_EmployeeWise.DataBind();
         rg_EmployeeWise.Visible = false;
     }
     catch (Exception ex)
     {
         SMHR.BLL.Error_Log(Session["USER_ID"].ToString(), ex.TargetSite.ToString(), ex.Message.Replace("'", "''"), "frm_leavetran", ex.StackTrace, DateTime.Now);
         Response.Redirect("~/Frm_ErrorPage.aspx");
     }
 }
Пример #3
0
    protected void lnk_Edit_Command(object sender, CommandEventArgs e)
    {
        try
        {
            loadDropdown();
            clearControls();
            DataTable dt = BLL.get_EmpOTTrans(new SMHR_EMPOTTRANS(Convert.ToInt32(Convert.ToString(e.CommandArgument))));

            lbl_OTDetID.Text = Convert.ToString(e.CommandArgument);
            rcmb_BusinessUnit.SelectedIndex = rcmb_BusinessUnit.Items.FindItemIndexByValue(Convert.ToString(dt.Rows[0]["BUSINESSUNIT_ID"]));
            rcmb_BusinessUnit_SelectedIndexChanged(null, null);
            if (Request.QueryString["BUSINESSUNIT_ID"] != null)
            {
                rcmb_BusinessUnit.Enabled = false;
            }
            SMHR_LEAVEAPP _obj_Smhr_LeaveApp = new SMHR_LEAVEAPP();
            _obj_Smhr_LeaveApp.BUSINESSUNIT_ID = Convert.ToInt32(Convert.ToString(dt.Rows[0]["BUSINESSUNIT_ID"]));
            _obj_Smhr_LeaveApp.LEAVEAPP_EMP_ID = Convert.ToInt32(Convert.ToString(dt.Rows[0]["EMPOTTRANS_EMPID"]));
            _obj_Smhr_LeaveApp.MODE            = 3;
            DataTable dtemp = BLL.get_EmpLeaveDetails(_obj_Smhr_LeaveApp);
            rcmb_OTDetEmployeeID.DataSource = dtemp;
            //lbl_Curr.Text = Convert.ToString(dtemp.Rows[0]["CURRENCY"]);
            rcmb_OTDetEmployeeID.DataTextField  = "EMPNAME";
            rcmb_OTDetEmployeeID.DataValueField = "EMP_ID";
            rcmb_OTDetEmployeeID.DataBind();
            rcmb_OTDetEmployeeID.Items.Insert(0, new Telerik.Web.UI.RadComboBoxItem("Select", "-1"));
            rcmb_OTDetEmployeeID.SelectedIndex = rcmb_OTDetEmployeeID.Items.FindItemIndexByValue(Convert.ToString(dt.Rows[0]["EMPOTTRANS_EMPID"]));
            rcmb_OTDetEmployeeID_SelectedIndexChanged(null, null);
            LoadOTandPeriod();
            rcmb_OTDetOTType.SelectedIndex     = rcmb_OTDetOTType.Items.FindItemIndexByValue(Convert.ToString(dt.Rows[0]["EMPOTTRANS_TYPEID"]));
            rcmb_OTDetPeriodMain.SelectedIndex = rcmb_OTDetPeriodMain.Items.FindItemIndexByValue(Convert.ToString(dt.Rows[0]["PERIODMAIN"]));
            rcmb_OTDetPeriodMain_SelectedIndexChanged(null, null);
            rcmb_OTDetPeriodDetails.SelectedIndex = rcmb_OTDetPeriodDetails.Items.FindItemIndexByValue(Convert.ToString(dt.Rows[0]["EMPOTTRANS_PERIOD_ID"]));
            rdtp_OTDetOTDate.SelectedDate         = Convert.ToDateTime(dt.Rows[0]["EMPOTTRANS_DATE"]);
            rtxt_OTDetOTHours.Text = Convert.ToString(dt.Rows[0]["EMPOTTRANS_HOURS"]);

            if (Convert.ToString(dt.Rows[0]["EMPOTTRANS_STATUS"]) == "0")
            {
                btn_Update.Visible = true;
            }
            else
            {
                BLL.ShowMessage(this, "This Record cannot be editing as it is already " + (Convert.ToString(dt.Rows[0]["EMPOTTRANS_STATUS"]) == "1" ? "Approved" : "Rejected"));
            }

            Rm_OT_page.SelectedIndex     = 1;
            rcmb_BusinessUnit.Enabled    = false;
            rcmb_OTDetEmployeeID.Enabled = false;
        }
        catch (Exception ex)
        {
            SMHR.BLL.Error_Log(Session["USER_ID"].ToString(), ex.TargetSite.ToString(), ex.Message.Replace("'", "''"), "frm_OTDetails", ex.StackTrace, DateTime.Now);
            Response.Redirect("~/Frm_ErrorPage.aspx");
        }
    }
Пример #4
0
    protected void Rollback_click(object sender, CommandEventArgs e)
    {
        try
        {
            SMHR_LEAVEAPP _obj_smhr_leaveApp1 = new SMHR_LEAVEAPP();
            _obj_smhr_leaveApp1.ORGANISATION_ID = Convert.ToInt32(Session["ORG_ID"]);
            _obj_smhr_leaveApp1.LEAVEAPP_EMP_ID = Convert.ToInt32(Session["EMP_ID"]);
            _obj_smhr_leaveApp1.LOGIN_ID        = Convert.ToInt32(Session["USER_ID"]);
            _obj_smhr_leaveApp1.OPERATION       = operation.Available;
            DataTable dt_Details = BLL.get_LeaveApp(_obj_smhr_leaveApp1);

            string str = Convert.ToString(e.CommandArgument);
            _obj_smhr_leaveapp = new SMHR_LEAVEAPP();
            _obj_smhr_leaveapp.LEAVEAPP_STATUS = 3;
            _obj_smhr_leaveapp.LEAVEAPP_EMP_ID = Convert.ToInt32(dt_Details.Rows[0]["EMP_ID"]);
            //_obj_smhr_leaveapp.LEAVEAPP_APPROVEDBY = Convert.ToInt32(Convert.ToString(Session["EMP_ID"]));
            _obj_smhr_leaveapp.LEAVEAPP_APPROVEDATE  = Convert.ToDateTime((dt_Details.Rows[0]["LEAVEAPP_TODATE"]));
            _obj_smhr_leaveapp.LEAVE_ROLLBACKDATE    = DateTime.Now;
            _obj_smhr_leaveapp.LASTMDFBY             = Convert.ToInt32(Convert.ToString(Session["EMP_ID"]));
            _obj_smhr_leaveapp.LEAVEAPP_ID           = Convert.ToInt32(e.CommandArgument);
            _obj_smhr_leaveapp.LASTMDFDATE           = DateTime.Now;
            _obj_smhr_leaveapp.ORGANISATION_ID       = Convert.ToInt32(Session["ORG_ID"]);
            _obj_smhr_leaveapp.LEAVEAPP_LEAVETYPE_ID = Convert.ToInt32(dt_Details.Rows[0]["LEAVETYPEID"]);

            _obj_smhr_leaveapp.OPERATION = operation.Delete1;
            BLL.set_LeaveApp(_obj_smhr_leaveapp);
            SMHR_LEAVEBALANCE _obj_smhr_leavebal = new SMHR_LEAVEBALANCE();
            _obj_smhr_leavebal.LT_LEAVETYPEID  = Convert.ToInt32(dt_Details.Rows[0]["LEAVETYPEID"]);
            _obj_smhr_leavebal.OPERATION       = operation.Update;
            _obj_smhr_leavebal.EMPNAME         = Convert.ToString(dt_Details.Rows[0]["EMP_ID"]);
            _obj_smhr_leavebal.ORGANISATION_ID = Convert.ToInt32(Convert.ToString(Session["org_ID"]));
            _obj_smhr_leavebal.MODE            = 8;
            _obj_smhr_leavebal.NDays           = float.Parse(Convert.ToString(dt_Details.Rows[0]["LEAVEAPP_DAYS"]));
            _obj_smhr_leavebal.LEAVEAPP_ID     = Convert.ToInt32(e.CommandArgument);
            _obj_smhr_leavebal.CREATEDDATE     = Convert.ToDateTime((dt_Details.Rows[0]["LEAVEAPP_TODATE"]));
            _obj_smhr_leavebal.ORGANISATION_ID = Convert.ToInt32(Session["ORG_ID"]);
            bool rs = BLL.set_leavebalances(_obj_smhr_leavebal);
        }
        catch (Exception ex)
        {
            SMHR.BLL.Error_Log(Session["USER_ID"].ToString(), ex.TargetSite.ToString(), ex.Message.Replace("'", "''"), "frm_LeaveApproval", ex.StackTrace, DateTime.Now);
            Response.Redirect("~/Frm_ErrorPage.aspx");
        }
    }
 public void LoadGrid()
 {
     try
     {
         SMHR_LEAVEAPP _obj_smhr_leaveApp = new SMHR_LEAVEAPP();
         _obj_smhr_leaveApp.ORGANISATION_ID = Convert.ToInt32(Session["ORG_ID"]);
         _obj_smhr_leaveApp.LEAVEAPP_EMP_ID = Convert.ToInt32(Session["EMP_ID"]);
         _obj_smhr_leaveApp.LOGIN_ID        = Convert.ToInt32(Session["USER_ID"]);
         _obj_smhr_leaveApp.OPERATION       = operation.Available;
         DataTable dt_Details = BLL.get_LeaveApp(_obj_smhr_leaveApp);
         Rg_LeaveApp.DataSource = dt_Details;
         //  Rg_LeaveApp.DataBind();
     }
     catch (Exception ex)
     {
         SMHR.BLL.Error_Log(Session["USER_ID"].ToString(), ex.TargetSite.ToString(), ex.Message.Replace("'", "''"), "Frm_leaveDetails", ex.StackTrace, DateTime.Now);
         Response.Redirect("~/Frm_ErrorPage.aspx");
     }
 }
Пример #6
0
 private void LoadData()
 {
     try
     {
         _obj_smhr_leaveapp = new SMHR_LEAVEAPP();
         //_obj_smhr_leaveapp.OPERATION = operation.Check;
         _obj_smhr_leaveapp.OPERATION       = operation.Validate1;
         _obj_smhr_leaveapp.LEAVEAPP_EMP_ID = Convert.ToInt32(Convert.ToString(Session["EMP_ID"]));
         _obj_smhr_leaveapp.ORGANISATION_ID = Convert.ToInt32(Convert.ToString(Session["org_ID"]));
         _obj_smhr_leaveapp.LOGIN_ID        = Convert.ToInt32(Session["USER_ID"]);
         dt_Details = new DataTable();
         dt_Details = BLL.get_LeaveApp(_obj_smhr_leaveapp);
         RG_LeaveApproval.DataSource = dt_Details;
         //RG_LeaveApproval.DataBind();
     }
     catch (Exception ex)
     {
         SMHR.BLL.Error_Log(Session["USER_ID"].ToString(), ex.TargetSite.ToString(), ex.Message.Replace("'", "''"), "frm_LeaveApproval", ex.StackTrace, DateTime.Now);
         Response.Redirect("~/Frm_ErrorPage.aspx");
     }
 }
 private void LoadEmployees()
 {
     try
     {
         SMHR_LEAVEAPP _obj_smhr_leaveApp = new SMHR_LEAVEAPP();
         _obj_smhr_leaveApp.ORGANISATION_ID = Convert.ToInt32(Session["ORG_ID"]);
         _obj_smhr_leaveApp.LEAVEAPP_EMP_ID = Convert.ToInt32(Session["EMP_ID"]);
         _obj_smhr_leaveApp.LOGIN_ID        = Convert.ToInt32(Session["USER_ID"]);
         _obj_smhr_leaveApp.OPERATION       = operation.Delete;
         DataTable dt_Details = BLL.get_LeaveApp(_obj_smhr_leaveApp);
         rcmb_Employee.DataSource     = dt_Details;
         rcmb_Employee.DataTextField  = "EMPNAME";
         rcmb_Employee.DataValueField = "EMP_ID";
         rcmb_Employee.DataBind();
         rcmb_Employee.Items.Insert(0, new Telerik.Web.UI.RadComboBoxItem("Select", "0"));
     }
     catch (Exception ex)
     {
         SMHR.BLL.Error_Log(Session["USER_ID"].ToString(), ex.TargetSite.ToString(), ex.Message.Replace("'", "''"), "Frm_leaveBalances", ex.StackTrace, DateTime.Now);
         Response.Redirect("~/Frm_ErrorPage.aspx");
     }
 }
    protected void rcmb_BU_SelectedIndexChanged(object o, Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs e)
    {
        try
        {
            rcmb_emp.Items.Clear();
            SMHR_LEAVEAPP _obj_Smhr_LeaveApp = new SMHR_LEAVEAPP();
            _obj_Smhr_LeaveApp.MODE            = 2;
            _obj_Smhr_LeaveApp.BUSINESSUNIT_ID = Convert.ToInt32(rcmb_BU.SelectedItem.Value);

            rcmb_emp.DataSource     = BLL.get_EmpLeaveDetails(_obj_Smhr_LeaveApp);
            rcmb_emp.DataTextField  = "EMPNAME";
            rcmb_emp.DataValueField = "EMP_ID";
            rcmb_emp.DataBind();
            rcmb_emp.Items.Insert(0, new Telerik.Web.UI.RadComboBoxItem("Select", "-1"));
            rg_EmployeeLeavedetail.Visible = false;
            rd_Periodlist.ClearSelection();
        }
        catch (Exception ex)
        {
            SMHR.BLL.Error_Log(Session["USER_ID"].ToString(), ex.TargetSite.ToString(), ex.Message.Replace("'", "''"), "frm_leavetran", ex.StackTrace, DateTime.Now);
            Response.Redirect("~/Frm_ErrorPage.aspx");
        }
    }
Пример #9
0
    private void LoadCombos()
    {
        try
        {
            ddl_BusinessUnit.Items.Clear();
            SMHR_LEAVEAPP _obj_Smhr_LeaveApp = new SMHR_LEAVEAPP();
            _obj_Smhr_LeaveApp.MODE = 1;

            ddl_BusinessUnit.DataSource     = BLL.get_EmpLeaveDetails(_obj_Smhr_LeaveApp);
            ddl_BusinessUnit.DataTextField  = "BUSINESSUNIT_CODE";
            ddl_BusinessUnit.DataValueField = "BUSINESSUNIT_ID";
            ddl_BusinessUnit.DataBind();
            ddl_BusinessUnit.Items.Insert(0, new Telerik.Web.UI.RadComboBoxItem("Select", "-1"));

            DataTable dt = BLL.get_Year(2);
            rtxt_Period.Text = Convert.ToString(dt.Rows[0][0]);
        }
        catch (Exception ex)
        {
            SMHR.BLL.Error_Log(Session["USER_ID"].ToString(), ex.TargetSite.ToString(), ex.Message.Replace("'", "''"), "frm_YearEndLeaveProcess", ex.StackTrace, DateTime.Now);
            Response.Redirect("~/Frm_ErrorPage.aspx");
        }
    }
Пример #10
0
    protected void btn_Reject_Click(object sender, EventArgs e)
    {
        try
        {
            CheckBox   chkBox          = new CheckBox();
            Label      lblID           = new Label();
            Label      lblempid        = new Label();
            RadTextBox rtxt_rej_reason = new RadTextBox();
            int        i = 0;
            Label1.Text = "";
            bool status  = false;
            bool status1 = false;
            for (i = 0; i < RG_LeaveApproval.Items.Count; i++)
            {
                chkBox          = RG_LeaveApproval.Items[i].FindControl("chk_Choose") as CheckBox;
                lblID           = RG_LeaveApproval.Items[i].FindControl("lblLeavetypeid") as Label;
                lblempid        = RG_LeaveApproval.Items[i].FindControl("lblempID") as Label;
                rtxt_rej_reason = RG_LeaveApproval.Items[i].FindControl("rtxt_rej_reason") as RadTextBox;
                if (chkBox.Checked)
                {
                    if (Label1.Text == "")
                    {
                        Label1.Text = lblID.Text;
                    }
                    else
                    {
                        Label1.Text = Label1.Text + "," + lblID.Text;
                    }
                    if (Convert.ToString(rtxt_rej_reason.Text) == string.Empty)
                    {
                        BLL.ShowMessage(this, "Please Enter Comments For rejection"); return;
                    }
                    _obj_smhr_leaveapp = new SMHR_LEAVEAPP();
                    _obj_smhr_leaveapp.LEAVEAPP_REASON        = lblID.Text;
                    _obj_smhr_leaveapp.LEAVEAPP_STATUS        = 2;
                    _obj_smhr_leaveapp.LEAVEAPP_APPROVEDBY    = Convert.ToInt32(Convert.ToString(Session["EMP_ID"]));
                    _obj_smhr_leaveapp.LEAVEAPP_APPROVEDATE   = Convert.ToDateTime(rdp_ApprovalDate.SelectedDate.Value);
                    _obj_smhr_leaveapp.LASTMDFBY              = 1;
                    _obj_smhr_leaveapp.LASTMDFDATE            = DateTime.Now;
                    _obj_smhr_leaveapp.ORGANISATION_ID        = Convert.ToInt32(Session["ORG_ID"]);
                    _obj_smhr_leaveapp.LEAVEAPP_REJECT_REASON = Convert.ToString(rtxt_rej_reason.Text.Replace("'", "''"));
                    _obj_smhr_leaveapp.OPERATION              = operation.Check;
                    status = BLL.set_LeaveApp(_obj_smhr_leaveapp);
                    if (status == true)
                    {
                        //BLL.ShowMessage(this, "Selected Leaves Rejected");
                        SMHR_LEAVEAPP _obj_Smhr_LeaveApp = new SMHR_LEAVEAPP();
                        _obj_Smhr_LeaveApp.LEAVEAPP_EMP_ID = Convert.ToInt32(lblempid.Text);
                        _obj_Smhr_LeaveApp.MODE            = 4;
                        DataTable dt_mail = BLL.get_EmpLeaveDetails(_obj_Smhr_LeaveApp);
                        if (dt_mail.Rows.Count > 0)
                        {
                            //if (!((dt_mail.Rows[0]["REPORTING_EMP_EMAIL"] != System.DBNull.Value && dt_mail.Rows[0]["REPORTING_EMP_EMAIL"] != string.Empty) || (dt_mail.Rows[0]["EMP_EMAIL"] != System.DBNull.Value && dt_mail.Rows[0]["EMP_EMAIL"] != string.Empty) || (dt_mail.Rows[0]["REPORTING_EMP"] != System.DBNull.Value && dt_mail.Rows[0]["REPORTING_EMP"] != string.Empty)))
                            if (((Convert.ToString(dt_mail.Rows[0]["REPORTING_EMP_EMAIL"]) != string.Empty) && (dt_mail.Rows[0]["REPORTING_EMP_EMAIL"]) != System.DBNull.Value) &&
                                ((Convert.ToString(dt_mail.Rows[0]["EMP_EMAIL"]) != string.Empty) && (dt_mail.Rows[0]["EMP_EMAIL"]) != System.DBNull.Value) &&
                                ((Convert.ToString(dt_mail.Rows[0]["REPORTING_EMP"]) != string.Empty) && ((dt_mail.Rows[0]["REPORTING_EMP"]) != System.DBNull.Value)))
                            {
                                _obj_Smhr_LeaveApp.MODE        = 3;
                                _obj_Smhr_LeaveApp.LEAVEAPP_ID = Convert.ToInt32(lblID.Text);
                                if (BLL.get_Leave_Mail(_obj_Smhr_LeaveApp))
                                {
                                    status1 = true;
                                }
                            }
                        }
                    }
                }
                //else
                //{
                //    i = i + 1;
                //}
            }

            if (string.IsNullOrEmpty(Label1.Text))
            {
                BLL.ShowMessage(this, "Please Select Employees");
                return;
            }
            if (status)
            {
                if (status1)
                {
                    BLL.ShowMessage(this, "Selected Leave Rejected and Notification Sent");
                }
                else
                {
                    BLL.ShowMessage(this, "Selected Leave Rejected");
                }
            }
            LoadData();
            RG_LeaveApproval.DataBind();
            return;
        }
        catch (Exception ex)
        {
            SMHR.BLL.Error_Log(Session["USER_ID"].ToString(), ex.TargetSite.ToString(), ex.Message.Replace("'", "''"), "frm_LeaveApproval", ex.StackTrace, DateTime.Now);
            Response.Redirect("~/Frm_ErrorPage.aspx");
        }
    }
Пример #11
0
    protected void btn_Approve_Click(object sender, EventArgs e)
    {
        try
        {
            CheckBox   chkBox          = new CheckBox();
            Label      lblAppID        = new Label();
            Label      lblempid        = new Label();
            Label      lblNoDays       = new Label();
            Label      lblLeaveID      = new Label();
            Label      lblLeaveCode    = new Label();
            Label      lblPrdID        = new Label();
            RadTextBox rtxt_rej_reason = new RadTextBox();
            bool       status          = false;
            bool       status1         = false;
            //string str = "";
            //string str1 = "";
            for (int index = 0; index <= RG_LeaveApproval.Items.Count - 1; index++)
            {
                string str  = "";
                string str1 = "";
                chkBox          = RG_LeaveApproval.Items[index].FindControl("chk_Choose") as CheckBox;
                lblAppID        = RG_LeaveApproval.Items[index].FindControl("lblLeavetypeid") as Label;
                lblempid        = RG_LeaveApproval.Items[index].FindControl("lblempID") as Label;
                lblNoDays       = RG_LeaveApproval.Items[index].FindControl("lblempLeaveDays") as Label;
                lblLeaveID      = RG_LeaveApproval.Items[index].FindControl("lblLeaveID") as Label;
                lblLeaveCode    = RG_LeaveApproval.Items[index].FindControl("lblempLeave") as Label;
                lblPrdID        = RG_LeaveApproval.Items[index].FindControl("lblPrdID") as Label;
                rtxt_rej_reason = RG_LeaveApproval.Items[index].FindControl("rtxt_rej_reason") as RadTextBox;
                if (chkBox.Checked)
                {
                    I_ChkCount = I_ChkCount + 1;
                    if (str == "")
                    {
                        str = "" + lblAppID.Text + "";
                    }
                    else
                    {
                        str = str + "," + lblAppID.Text + "";
                    }
                    if (str1 == "")
                    {
                        str1 = "" + lblempid.Text + "";
                    }

                    _obj_smhr_leaveapp = new SMHR_LEAVEAPP();
                    _obj_smhr_leaveapp.LEAVEAPP_REASON        = str;
                    _obj_smhr_leaveapp.LEAVEAPP_STATUS        = 1;
                    _obj_smhr_leaveapp.LEAVEAPP_EMP_ID        = Convert.ToInt32(str1);
                    _obj_smhr_leaveapp.LEAVEAPP_APPROVEDBY    = Convert.ToInt32(Convert.ToString(Session["EMP_ID"]));
                    _obj_smhr_leaveapp.LEAVEAPP_APPROVEDATE   = Convert.ToDateTime(rdp_ApprovalDate.SelectedDate.Value);
                    _obj_smhr_leaveapp.LASTMDFBY              = 1;
                    _obj_smhr_leaveapp.LASTMDFDATE            = DateTime.Now;
                    _obj_smhr_leaveapp.ORGANISATION_ID        = Convert.ToInt32(Session["ORG_ID"]);
                    _obj_smhr_leaveapp.LEAVEAPP_LEAVETYPE_ID  = Convert.ToInt32(lblLeaveID.Text);
                    _obj_smhr_leaveapp.LEAVEAPP_REJECT_REASON = Convert.ToString(rtxt_rej_reason.Text.Replace("'", "''"));

                    /*if (lblLeaveCode.Text.Trim() != "LOP")
                     * {
                     *  //TO GET LEAVEBALANCES OF EMPLOYEE
                     *  _obj_smhr_leaveapp.OPERATION = operation.Select1;
                     *  DataTable dt_bal = BLL.get_LeaveApp(_obj_smhr_leaveapp);
                     *  if (dt_bal.Rows.Count > 0)
                     *  {
                     *      if (Convert.ToDouble(dt_bal.Rows[0]["LT_CURRENTBALANCE"]) <= 0.00)
                     *      {
                     *          BLL.ShowMessage(this, "Employee Does Not Have Leaves For This LeaveType.");
                     *          return;
                     *      }
                     *      if (Convert.ToDouble(dt_bal.Rows[0]["LT_CURRENTBALANCE"]) < Convert.ToDouble(lblNoDays.Text))
                     *      {
                     *          BLL.ShowMessage(this, "Employee Has Only " + Convert.ToDouble(dt_bal.Rows[0]["LT_CURRENTBALANCE"]) + " Balances.");
                     *          return;
                     *      }
                     *
                     *  }
                     *  else
                     *  {
                     *      BLL.ShowMessage(this, "Employee Does Not Have Balances For Selected Leave Type.");
                     *      return;
                     *  }
                     * }*/
                    _obj_smhr_leaveapp.OPERATION = operation.Check;
                    status = BLL.set_LeaveApp(_obj_smhr_leaveapp);
                    if (lblLeaveCode.Text.Trim() != "LOP")
                    {
                        if (status == true)
                        {
                            SMHR_LEAVEBALANCE _obj_smhr_leavebal = new SMHR_LEAVEBALANCE();

                            _obj_smhr_leavebal.LT_LEAVETYPEID  = Convert.ToInt32(lblLeaveID.Text);
                            _obj_smhr_leavebal.OPERATION       = operation.Update;
                            _obj_smhr_leavebal.EMPNAME         = str1;
                            _obj_smhr_leavebal.MODE            = 9; //5;
                            _obj_smhr_leavebal.NDays           = float.Parse(lblNoDays.Text);
                            _obj_smhr_leavebal.LEAVEAPP_ID     = Convert.ToInt32(lblAppID.Text);
                            _obj_smhr_leavebal.CREATEDDATE     = Convert.ToDateTime(rdp_ApprovalDate.SelectedDate.Value);
                            _obj_smhr_leavebal.ORGANISATION_ID = Convert.ToInt32(Session["ORG_ID"]);
                            if (lblPrdID.Text != string.Empty)
                            {
                                _obj_smhr_leavebal.LT_PRD_ID = Convert.ToInt32(lblPrdID.Text);
                            }
                            _obj_smhr_leavebal.LT_EMPID = Convert.ToInt32(lblempid.Text);
                            bool rs = BLL.set_leavebalances(_obj_smhr_leavebal);
                            //BLL.ShowMessage(this, "Selected Leave approved and Leave Balance Updated");
                            SMHR_LEAVEAPP _obj_Smhr_LeaveApp = new SMHR_LEAVEAPP();
                            _obj_Smhr_LeaveApp.LEAVEAPP_EMP_ID = Convert.ToInt32(str1);
                            _obj_Smhr_LeaveApp.LEAVEAPP_ID     = Convert.ToInt32(lblAppID.Text);
                            _obj_Smhr_LeaveApp.MODE            = 4;
                            DataTable dt_mail = BLL.get_EmpLeaveDetails(_obj_Smhr_LeaveApp);
                            if (dt_mail.Rows.Count > 0)
                            {
                                //if (!((dt_mail.Rows[0]["REPORTING_EMP_EMAIL"] != System.DBNull.Value && dt_mail.Rows[0]["REPORTING_EMP_EMAIL"] != string.Empty) || (dt_mail.Rows[0]["EMP_EMAIL"] != System.DBNull.Value && dt_mail.Rows[0]["EMP_EMAIL"] != string.Empty) || (dt_mail.Rows[0]["REPORTING_EMP"] != System.DBNull.Value && dt_mail.Rows[0]["REPORTING_EMP"] != string.Empty)))
                                if (((Convert.ToString(dt_mail.Rows[0]["REPORTING_EMP_EMAIL"]) != string.Empty) && (dt_mail.Rows[0]["REPORTING_EMP_EMAIL"]) != System.DBNull.Value) &&
                                    ((Convert.ToString(dt_mail.Rows[0]["EMP_EMAIL"]) != string.Empty) && (dt_mail.Rows[0]["EMP_EMAIL"]) != System.DBNull.Value) &&
                                    ((Convert.ToString(dt_mail.Rows[0]["REPORTING_EMP"]) != string.Empty) && ((dt_mail.Rows[0]["REPORTING_EMP"]) != System.DBNull.Value)))
                                {
                                    _obj_Smhr_LeaveApp.MODE = 2;
                                    if (BLL.get_Leave_Mail(_obj_Smhr_LeaveApp))
                                    {
                                        status1 = true;
                                        //BLL.ShowMessage(this, "Notification Sent");
                                    }
                                }
                            }
                            //LoadData();
                            //return;
                        }
                    }
                    else
                    {
                        if (status == true)
                        {
                            //BLL.ShowMessage(this, "Selected Leave Approved.");
                        }
                    }
                }
                //}


                //if (string.IsNullOrEmpty(str))
                //{
                //    BLL.ShowMessage(this, "Please Select Employees");
                //    return;
                //}
            }
            if (I_ChkCount == 0)
            {
                BLL.ShowMessage(this, "Please Select Employees");
                return;
            }
            if (status)
            {
                if (status1)
                {
                    BLL.ShowMessage(this, "Selected Leave Approved And Leave Balance Updated And Notification Sent");
                }
                else
                {
                    BLL.ShowMessage(this, "Selected Leave Approved And Leave Balance Updated");
                }
            }

            LoadData();
            RG_LeaveApproval.DataBind();
            return;
        }
        catch (Exception ex)
        {
            SMHR.BLL.Error_Log(Session["USER_ID"].ToString(), ex.TargetSite.ToString(), ex.Message.Replace("'", "''"), "frm_LeaveApproval", ex.StackTrace, DateTime.Now);
            Response.Redirect("~/Frm_ErrorPage.aspx");
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            if (!Page.IsPostBack)
            {
                Session["DASHBOARD"] = "true";
            }

            if (Convert.ToString(Session["EMP_ID"]) == "")
            {
                Response.Redirect("Login.aspx", false);
            }
            if (!Page.IsPostBack)
            {
                lbl_Birthday.Text = "BIRTHDAY REMINDERS - " + DateTime.Now.ToLongDateString().ToUpper();
                getBirthday();

                string str_Loginid = Convert.ToString(Session["USER_ID"]);

                _obj_smhr_Dashboard = new SMHR_DAHSBOARD();

                //CODE FOR FETCHING EMPLOYEE NAME
                _obj_smhr_Dashboard.OPERATION             = operation.Select;
                _obj_smhr_Dashboard.SMHR_DASHBOARD_EMP_ID = Convert.ToInt32(str_Loginid);
                DataTable dt_getEMP_NAME = BLL.get_EMP_ID(_obj_smhr_Dashboard);
                if (dt_getEMP_NAME.Rows.Count != 0)
                {
                    lbl_EmpName.Text       = Convert.ToString(dt_getEMP_NAME.Rows[0][0]);
                    lbl_EmpBloodGroup.Text = Convert.ToString(dt_getEMP_NAME.Rows[0][1]);
                }
                else
                {
                    BLL.ShowMessage(this, "No employee name exists for this login id");
                    //Response.Redirect("~/Login.aspx");
                }

                //CODE FOR FETCHING EMPLOYEE ID
                _obj_smhr_Dashboard.OPERATION = operation.Select_Emp;
                _obj_smhr_Dashboard.SMHR_DASHBOARD_LOGIN_ID = Convert.ToInt32(str_Loginid);
                DataTable dt_getEMP_ID = BLL.get_EMP_ID(_obj_smhr_Dashboard);

                string STR_EMP_ID = Convert.ToString(dt_getEMP_ID.Rows[0][0]);
                lbl_EmpId.Text = STR_EMP_ID;

                //CODE FOR FETCHING EMPLOYEE DESIGNATION
                _obj_smhr_Dashboard.OPERATION             = operation.Select_Pos;
                _obj_smhr_Dashboard.SMHR_DASHBOARD_EMP_ID = Convert.ToInt32(STR_EMP_ID);
                DataTable dt_getEMP_DESG = BLL.get_EMP_ID(_obj_smhr_Dashboard);

                lbl_EmpDesignation.Text = Convert.ToString(dt_getEMP_DESG.Rows[0][0]);

                //CODE FOR FETCHING EMPLOYEE DEPARTMENT
                _obj_smhr_Dashboard.OPERATION             = operation.Select_Dept;
                _obj_smhr_Dashboard.SMHR_DASHBOARD_EMP_ID = Convert.ToInt32(STR_EMP_ID);
                DataTable dt_getEMP_DEPT = BLL.get_EMP_ID(_obj_smhr_Dashboard);

                lbl_EmpDepartment.Text = Convert.ToString(dt_getEMP_DEPT.Rows[0][0]);


                //NO of Pending Leave Applications
                _obj_smhr_Leaveapp                     = new SMHR_LEAVEAPP();
                _obj_smhr_Leaveapp.OPERATION           = operation.Check_New;
                _obj_smhr_Leaveapp.LEAVEAPP_STATUS     = Convert.ToInt32(0);
                _obj_smhr_Leaveapp.LEAVEAPP_APPROVEDBY = Convert.ToInt32(STR_EMP_ID);
                DataTable dt_NoOfPendingLeave = BLL.get_LeaveApp(_obj_smhr_Leaveapp);
                lbl_pendingleave.Text = Convert.ToString(dt_NoOfPendingLeave.Rows[0][0]);


                //No of Pending Comp-Off Application
                _obj_smhr_Compoff                       = new SMHR_EMPCOMOFF();
                _obj_smhr_Compoff.OPERATION             = operation.Check_New;
                _obj_smhr_Compoff.EMPCOMPOFF_STATUS     = Convert.ToInt32(0);
                _obj_smhr_Compoff.EMPCOMPOFF_APPROVEDBY = Convert.ToInt32(STR_EMP_ID);
                DataTable dt_NoOfPendingCOMPOFF = BLL.get_empcompffs(_obj_smhr_Compoff);
                lbl_pendingcompoff.Text = Convert.ToString(dt_NoOfPendingCOMPOFF.Rows[0][0]);

                //No of Pending Expense Applications
                _obj_smhr_Expense                    = new SMHR_EXPENSE();
                _obj_smhr_Expense.OPERATION          = operation.Check_New;
                _obj_smhr_Expense.EXPENSE_STATUS     = Convert.ToInt32(0);
                _obj_smhr_Expense.EXPENSE_APPROVEDBY = Convert.ToInt32(STR_EMP_ID);
                DataTable dt_NoOfPendingExpense = BLL.get_Expense(_obj_smhr_Expense);
                lbl_pendingexpense.Text = Convert.ToString(dt_NoOfPendingExpense.Rows[0][0]);


                //No of Pending Loan Applications


                //EMPLOYEE LEAVE APPLICATION STATUS
                _obj_smhr_Leaveapp           = new SMHR_LEAVEAPP();
                _obj_smhr_Leaveapp.OPERATION = operation.Select_New;

                _obj_smhr_Leaveapp.EMP_ID = Convert.ToInt32(STR_EMP_ID);
                DataTable dt_leavestatus = BLL.get_LeaveApp(_obj_smhr_Leaveapp);
                int       int_NoOfLeaves = dt_leavestatus.Rows.Count;
                if (int_NoOfLeaves == 0)
                {
                    lbl_MgrLeaveAppStatus.Text = "No leave application status available";
                    //BLL.ShowMessage(this, "No data available");
                }
                else
                {
                    int lastLeaveStatus = Convert.ToInt32(dt_leavestatus.Rows[int_NoOfLeaves - 1][0]);
                    if (lastLeaveStatus == 0)
                    {
                        lbl_MgrLeaveAppStatus.Text = "Leave Application Pending";
                    }
                    else if (lastLeaveStatus == 1)
                    {
                        lbl_MgrLeaveAppStatus.Text = "Leave Application Approved";
                    }
                    else if (lastLeaveStatus == 2)
                    {
                        lbl_MgrLeaveAppStatus.Text = "Leave Application Rejected";
                    }
                    else if (lastLeaveStatus == 3)
                    {
                        lbl_MgrLeaveAppStatus.Text = "Leave Application Cancelled";
                    }
                    else
                    {
                        lbl_MgrLeaveAppStatus.Text = "Leave Application Not Found";
                    }
                }

                //EMPLOYEE COMP-OFF APPLICATION STATUS
                _obj_smhr_Compoff           = new SMHR_EMPCOMOFF();
                _obj_smhr_Compoff.OPERATION = operation.Select_New;
                _obj_smhr_Compoff.EMP_ID    = Convert.ToInt32(STR_EMP_ID);
                DataTable dt_compoff      = BLL.get_empcompffs(_obj_smhr_Compoff);
                int       int_NoOfCompOff = dt_compoff.Rows.Count;
                if (int_NoOfCompOff == 0)
                {
                    lbl_MgrCompOffAppStatus.Text = "No comp-off application status available";
                    // BLL.ShowMessage(this, "No data available");
                }
                else
                {
                    int lastCompOffStatus = Convert.ToInt32(dt_compoff.Rows[(int_NoOfCompOff) - 1][0]);
                    if (lastCompOffStatus == 0)
                    {
                        lbl_MgrCompOffAppStatus.Text = "Comp-Off Application Pending";
                    }
                    else if (lastCompOffStatus == 1)
                    {
                        lbl_MgrCompOffAppStatus.Text = "Comp-Off Application Approved";
                    }
                    else if (lastCompOffStatus == 2)
                    {
                        lbl_MgrCompOffAppStatus.Text = "Comp-Off Applicaiton Rejected";
                    }
                    else if (lastCompOffStatus == 3)
                    {
                        lbl_MgrCompOffAppStatus.Text = "Comp-Off Application Cancelled";
                    }
                    else
                    {
                        lbl_MgrCompOffAppStatus.Text = "Comp-Off Application Not Found";
                    }
                }


                //EMPLOYEE EXPENSE APPLICATION STATUS
                _obj_smhr_Expense           = new SMHR_EXPENSE();
                _obj_smhr_Expense.OPERATION = operation.Select_New;
                _obj_smhr_Expense.EMP_ID    = Convert.ToInt32(STR_EMP_ID);
                DataTable dt_expense = BLL.get_Expense(_obj_smhr_Expense);

                int int_NoOfExpense = dt_compoff.Rows.Count;
                if (int_NoOfExpense == 0)
                {
                    lbl_MgrExpenseAppStatus.Text = "No expense application status available";
                }
                else
                {
                    int lastExpenseStatus = Convert.ToInt32(dt_compoff.Rows[(int_NoOfExpense) - 1][0]);
                    if (lastExpenseStatus == 0)
                    {
                        lbl_MgrExpenseAppStatus.Text = "Expense Application Pending";
                    }
                    else if (lastExpenseStatus == 1)
                    {
                        lbl_MgrExpenseAppStatus.Text = "Expense Application Approved";
                    }
                    else if (lastExpenseStatus == 2)
                    {
                        lbl_MgrExpenseAppStatus.Text = "Expense Application Rejected";
                    }
                    else if (lastExpenseStatus == 3)
                    {
                        lbl_MgrExpenseAppStatus.Text = "Expense Application Cancelled";
                    }
                    else
                    {
                        lbl_MgrExpenseAppStatus.Text = "Expense Application Not Found";
                    }
                }



                //Modified
                #region Pie-Chart for Ytd Balances
                _obj_smhr_Dashboard = new SMHR_DAHSBOARD();

                string str_MonthNo = DateTime.Now.Month.ToString();
                System.Globalization.DateTimeFormatInfo mfi = new System.Globalization.DateTimeFormatInfo();
                string str_Period_Month = mfi.GetMonthName(Convert.ToInt32(str_MonthNo));

                string str_Period_Year = DateTime.Now.Year.ToString();
                string str_PeriodName  = str_Period_Month.ToUpper() + " " + str_Period_Year;
                _obj_smhr_Dashboard.OPERATION = operation.Check_New;
                _obj_smhr_Dashboard.SMHR_DASHBOARD_PERIODNAME = str_PeriodName;
                DataTable dt_PeriodID = BLL.get_EMP_ID(_obj_smhr_Dashboard);
                if (dt_PeriodID.Rows.Count == 0)
                {
                    //DataTable dt_ZeroYtdBalance = new DataTable();

                    //BLL.ShowMessage(this, "No data available");
                }
                string str_PeriodId = Convert.ToString(dt_PeriodID.Rows[0][0]);
                _obj_smhr_Dashboard.OPERATION               = operation.Check1;
                _obj_smhr_Dashboard.SMHR_DASHBOARD_EMP_ID   = Convert.ToInt32(STR_EMP_ID);
                _obj_smhr_Dashboard.SMHR_DASHBOARD_PERIODID = Convert.ToInt32(str_PeriodId);
                DataTable dt_YtdBalance = BLL.get_EMP_ID(_obj_smhr_Dashboard);
                if (dt_YtdBalance.Rows.Count == 0)
                {
                    DataTable  dt_ZeroYtdBalance      = new DataTable();
                    DataRow    dr_ZeroYtdBalance      = dt_ZeroYtdBalance.NewRow();
                    DataColumn dc_ZeroYtdBalance      = new DataColumn();
                    DataColumn dc_ZeroPayItem_PayDesc = new DataColumn();
                    dc_ZeroYtdBalance.ColumnName      = "YtdBalance";
                    dc_ZeroPayItem_PayDesc.ColumnName = "payitem_paydesc";
                    dt_ZeroYtdBalance.Columns.Add(dc_ZeroYtdBalance);
                    dt_ZeroYtdBalance.Columns.Add(dc_ZeroPayItem_PayDesc);
                    dr_ZeroYtdBalance["YtdBalance"]      = "0.00";
                    dr_ZeroYtdBalance["payitem_paydesc"] = "Ytd Balances";
                    dt_ZeroYtdBalance.Rows.Add(dr_ZeroYtdBalance);
                    RadChart_YtdBalances.DataSource = dt_ZeroYtdBalance;
                    RadChart_YtdBalances.DataBind();

                    //RadChart_YtdBalances.Visible = false;
                    //BLL.ShowMessage(this, "No data  available for ytd balances");
                }
                else
                {
                    RadChart_YtdBalances.DataSource = dt_YtdBalance;
                    RadChart_YtdBalances.DataBind();
                }

                #endregion

                //Pie-chart
                #region Pie-Chart for Leave Balance
                bool status = false;
                _obj_smhr_Dashboard = new SMHR_DAHSBOARD();
                string str_Current_Year = DateTime.Now.Year.ToString();
                _obj_smhr_Dashboard.SMHR_DASHBOARD_PERIODNAME = str_Current_Year;
                _obj_smhr_Dashboard.OPERATION = operation.Select_Period;
                DataTable dt_Period_ID    = BLL.get_EMP_ID(_obj_smhr_Dashboard);
                string    str_Period_Name = Convert.ToString(dt_Period_ID.Rows[0][0]);
                _obj_smhr_Dashboard.OPERATION = operation.Select_New;
                _obj_smhr_Dashboard.SMHR_DASHBOARD_PERIODNAME = str_Period_Name;
                _obj_smhr_Dashboard.SMHR_DASHBOARD_EMP_ID     = Convert.ToInt32(STR_EMP_ID);
                DataTable dt_LeaveBalance = BLL.get_EMP_ID(_obj_smhr_Dashboard);
                if (dt_LeaveBalance.Rows.Count != 0)
                {
                    for (int int_rowcount = 0; int_rowcount < dt_LeaveBalance.Rows.Count; int_rowcount++)
                    {
                        if (Convert.ToDouble(dt_LeaveBalance.Rows[int_rowcount]["LT_CURRENTBALANCE"]) == 0.00)
                        {
                            //BLL.ShowMessage(this, "No leaves to have fun");
                            lbl_zeroleave.Visible = true;
                            lbl_zeroleave.Text    = "No leaves available";
                            status = true;
                        }
                    }
                    if (status == false)
                    {
                        RadChart2.Visible    = true;
                        RadChart2.DataSource = dt_LeaveBalance;
                        RadChart2.DataBind();
                    }
                }
                else
                {
                    lbl_zeroleave.Visible = true;
                    lbl_zeroleave.Text    = "No leaves available";
                    //BLL.ShowMessage(this, "No data available for leave balances");
                }
                #endregion

                #region Pie-Chart for Performance Hikes
                _obj_smhr_Dashboard                       = new SMHR_DAHSBOARD();
                _obj_smhr_Dashboard.OPERATION             = operation.Select_Hike;
                _obj_smhr_Dashboard.SMHR_DASHBOARD_EMP_ID = Convert.ToInt32(STR_EMP_ID);
                DataTable dt_Hike = BLL.get_EMP_ID(_obj_smhr_Dashboard);
                if (dt_Hike.Rows.Count != 0)
                {
                    for (int int_rowcount = 0; int_rowcount < dt_Hike.Rows.Count; int_rowcount++)
                    {
                        if (Convert.ToDouble(dt_Hike.Rows[int_rowcount]["Hike"]) == 0.00)
                        {
                            //BLL.ShowMessage(this, "No leaves to have fun");
                            lbl_zerohike.Visible = true;
                            lbl_zerohike.Text    = "No leaves available";
                            status = true;
                        }
                    }
                    if (status == false)
                    {
                        RadChart_Performance.Visible    = true;
                        RadChart_Performance.DataSource = dt_Hike;
                        RadChart_Performance.DataBind();
                    }
                }
                else
                {
                    lbl_zerohike.Visible = true;
                    lbl_zerohike.Text    = "No leaves to have fun";
                    //BLL.ShowMessage(this, "No data available for leave balances");
                }
                #endregion

                //Code For scrolling text
                //_obj_smhr_Recruitmentupdates = new SMHR_RECRUITMENTUPDATES();
                //_obj_smhr_Recruitmentupdates.OPERATION = operation.Select_New;
                //_obj_smhr_Recruitmentupdates.SMHR_CURRENTDATE = DateTime.Now;
                //DataTable dt_RecruitmentUpdates = BLL.get_RecruitmentUpdates(_obj_smhr_Recruitmentupdates);
                //if (dt_RecruitmentUpdates.Rows.Count != 0)
                //{
                //    //string str_ReqName = dt_RecruitmentUpdates.Rows[0]["JOBREQ_REQNAME"].ToString();
                //    Radticker1.DataSource = dt_RecruitmentUpdates;// dt_RecruitmentUpdates;
                //    Radticker1.DataTextField = "JOBREQ_UPDATE";
                //    //Radticker1.DataMember = str_ReqName;
                //    Radticker1.DataBind();
                //}
                //else
                //{
                //    BLL.ShowMessage(this, "Recruitment are closed now");
                //}
            }
        }
        catch (Exception ex)
        {
            SMHR.BLL.Error_Log(Session["USER_ID"].ToString(), ex.TargetSite.ToString(), ex.Message.Replace("'", "''"), "frm_Dashboard1", ex.StackTrace, DateTime.Now);
            Response.Redirect("~/Frm_ErrorPage.aspx");
        }
    }
 public static DataTable get_LeaveApp(SMHR_LEAVEAPP _obj_Smhr_LeaveApp)
 {
     return(BLL.ExecuteQuery("EXEC USP_SMHR_LEAVEAPP @Operation = 'LEAVEDETAILSROLLBACK', @ORGANISATION_ID = " + _obj_Smhr_LeaveApp.ORGANISATION_ID + ",@EMP_LOGIN_ID='" + _obj_Smhr_LeaveApp.LOGIN_ID + "',@LEAVEAPP_EMP_ID = " + _obj_Smhr_LeaveApp.LEAVEAPP_EMP_ID + ""));
 }
    protected void Rollback_click(object sender, CommandEventArgs e)
    {
        try
        {
            SMHR_LEAVEAPP _obj_smhr_leaveApp1 = new SMHR_LEAVEAPP();
            _obj_smhr_leaveApp1.ORGANISATION_ID = Convert.ToInt32(Session["ORG_ID"]);
            _obj_smhr_leaveApp1.LEAVEAPP_EMP_ID = Convert.ToInt32(Session["EMP_ID"]);
            _obj_smhr_leaveApp1.LOGIN_ID        = Convert.ToInt32(Session["USER_ID"]);
            _obj_smhr_leaveApp1.OPERATION       = operation.Available;
            DataTable     dt_Details         = BLL.get_LeaveApp(_obj_smhr_leaveApp1);
            SMHR_LEAVEAPP _obj_smhr_leaveapp = new SMHR_LEAVEAPP();
            string        str = Convert.ToString(e.CommandArgument);
            _obj_smhr_leaveapp = new SMHR_LEAVEAPP();
            _obj_smhr_leaveapp.LEAVEAPP_STATUS = 3;
            _obj_smhr_leaveapp.LEAVEAPP_EMP_ID = Convert.ToInt32(dt_Details.Rows[0]["EMP_ID"]);
            //_obj_smhr_leaveapp.LEAVEAPP_APPROVEDBY = Convert.ToInt32(Convert.ToString(Session["EMP_ID"]));
            _obj_smhr_leaveapp.LEAVEAPP_APPROVEDATE  = Convert.ToDateTime((dt_Details.Rows[0]["LEAVEAPP_TODATE"]));
            _obj_smhr_leaveapp.LEAVE_ROLLBACKDATE    = DateTime.Now;
            _obj_smhr_leaveapp.LASTMDFBY             = Convert.ToInt32(Convert.ToString(Session["EMP_ID"]));
            _obj_smhr_leaveapp.LEAVEAPP_ID           = Convert.ToInt32(e.CommandArgument);
            _obj_smhr_leaveapp.LASTMDFDATE           = DateTime.Now;
            _obj_smhr_leaveapp.ORGANISATION_ID       = Convert.ToInt32(Session["ORG_ID"]);
            _obj_smhr_leaveapp.LEAVEAPP_LEAVETYPE_ID = Convert.ToInt32(dt_Details.Rows[0]["LEAVETYPEID"]);

            _obj_smhr_leaveapp.OPERATION = operation.Delete1;
            BLL.set_LeaveApp(_obj_smhr_leaveapp);
            SMHR_LEAVEBALANCE _obj_smhr_leavebal = new SMHR_LEAVEBALANCE();
            _obj_smhr_leavebal.LT_LEAVETYPEID  = Convert.ToInt32(dt_Details.Rows[0]["LEAVETYPEID"]);
            _obj_smhr_leavebal.OPERATION       = operation.Update;
            _obj_smhr_leavebal.EMPNAME         = Convert.ToString(dt_Details.Rows[0]["EMP_ID"]);
            _obj_smhr_leavebal.ORGANISATION_ID = Convert.ToInt32(Convert.ToString(Session["org_ID"]));
            _obj_smhr_leavebal.MODE            = 8;
            _obj_smhr_leavebal.NDays           = float.Parse(Convert.ToString(dt_Details.Rows[0]["LEAVEAPP_DAYS"]));
            _obj_smhr_leavebal.LEAVEAPP_ID     = Convert.ToInt32(e.CommandArgument);
            _obj_smhr_leavebal.CREATEDDATE     = Convert.ToDateTime((dt_Details.Rows[0]["LEAVEAPP_TODATE"]));
            bool rs = BLL.set_leavebalances(_obj_smhr_leavebal);
            if (rs == true)
            {
                //BLL.ShowMessage(this, "Leave Successfully Rolled back");

                SMHR_LEAVEAPP _obj_Smhr_LeaveApp = new SMHR_LEAVEAPP();
                _obj_Smhr_LeaveApp.LEAVEAPP_EMP_ID   = Convert.ToInt32(Session["EMP_ID"]);
                _obj_Smhr_LeaveApp.ORGANISATION_ID   = Convert.ToInt32(Convert.ToString(Session["org_ID"]));
                _obj_Smhr_LeaveApp.LEAVEAPP_FROMDATE = Convert.ToDateTime((dt_Details.Rows[0]["LEAVEAPP_FROMDATE"]));
                _obj_Smhr_LeaveApp.LEAVEAPP_TODATE   = Convert.ToDateTime((dt_Details.Rows[0]["LEAVEAPP_TODATE"]));
                _obj_Smhr_LeaveApp.LEAVEAPP_DAYS     = float.Parse(Convert.ToString(dt_Details.Rows[0]["LEAVEAPP_DAYS"]));
                _obj_Smhr_LeaveApp.LEAVEAPP_ID       = Convert.ToInt32(e.CommandArgument);
                _obj_Smhr_LeaveApp.MODE = 4;
                DataTable dt_mail = BLL.get_EmpLeaveDetails(_obj_Smhr_LeaveApp);
                if (dt_mail.Rows.Count > 0)
                {
                    //if (!((dt_mail.Rows[0]["REPORTING_EMP_EMAIL"] != System.DBNull.Value && dt_mail.Rows[0]["REPORTING_EMP_EMAIL"] != string.Empty) || (dt_mail.Rows[0]["EMP_EMAIL"] != System.DBNull.Value && dt_mail.Rows[0]["EMP_EMAIL"] != string.Empty) || (dt_mail.Rows[0]["REPORTING_EMP"] != System.DBNull.Value && dt_mail.Rows[0]["REPORTING_EMP"] != string.Empty)))
                    if (((Convert.ToString(dt_mail.Rows[0]["REPORTING_EMP_EMAIL"]) != string.Empty) && (dt_mail.Rows[0]["REPORTING_EMP_EMAIL"]) != System.DBNull.Value) &&
                        ((Convert.ToString(dt_mail.Rows[0]["EMP_EMAIL"]) != string.Empty) && (dt_mail.Rows[0]["EMP_EMAIL"]) != System.DBNull.Value) &&
                        ((Convert.ToString(dt_mail.Rows[0]["REPORTING_EMP"]) != string.Empty) && ((dt_mail.Rows[0]["REPORTING_EMP"]) != System.DBNull.Value)))
                    {
                        _obj_Smhr_LeaveApp.MODE = 5;
                        if (BLL.get_Leave_Mail(_obj_Smhr_LeaveApp))
                        {
                            BLL.ShowMessage(this, "Leave Successfully Rolled back and Mail Sent");
                        }
                        else
                        {
                            BLL.ShowMessage(this, "Mail Not Sent");
                        }
                    }
                }
                else
                {
                    BLL.ShowMessage(this, "Leave Successfully Rolled back but Mail not Sent");
                }
            }
            LoadGridrolb();
            Rg_rollback.DataBind();
        }
        catch (Exception ex)
        {
            SMHR.BLL.Error_Log(Session["USER_ID"].ToString(), ex.TargetSite.ToString(), ex.Message.Replace("'", "''"), "Frm_leaveDetails", ex.StackTrace, DateTime.Now);
            Response.Redirect("~/Frm_ErrorPage.aspx");
        }
    }