protected void btnDelete_Click(object sender, EventArgs e)
 {
     try
     {
         int           cnt    = 0;
         StringBuilder strXML = new StringBuilder();
         strXML.Append("<ENT_EMPLOYEE_LEFT>");
         for (int i = 0; i < gvLeaveData.Rows.Count; i++)
         {
             try
             {
                 CheckBox delrows = (CheckBox)gvLeaveData.Rows[i].FindControl("DeleteRows");
                 if (delrows.Checked == true)
                 {
                     cnt++;
                     strXML.Append("<EMPLOYEE>");
                     strXML.Append("<EL_ColumnID>" + ((HiddenField)gvLeaveData.Rows[i].FindControl("hdnColId")).Value + "</EL_ColumnID>");
                     strXML.Append("<EL_EMP_ID>" + ((HiddenField)gvLeaveData.Rows[i].FindControl("hdnEmpID")).Value + "</EL_EMP_ID>");
                     strXML.Append("</EMPLOYEE>");
                 }
             }
             catch (Exception ex)
             {
                 UNOException.UNO_DBErrorLog(ex.Message, ex.StackTrace, clsCommonHandler.PageName());
             }
         }
         strXML.Append("</ENT_EMPLOYEE_LEFT>");
         if (cnt > 0)
         {
             clsEmployeeLeft objEmp = new clsEmployeeLeft();
             objEmp.CreatedBy = Session["uid"].ToString();
             clsEmployeeLeftHandler.DeleteEmpLeftDetails(objEmp, strXML.ToString(), ref strErrMsg, ref strSuccMsg, clsCommonHandler.PageName());
             if (strErrMsg.Trim().Length >= 1)
             {
                 lblMessages.Text    = strErrMsg.Trim();
                 lblMessages.Visible = true;
             }
             else
             {
                 lblMessages.Text    = strSuccMsg.Trim();
                 lblMessages.Visible = true;
                 bindDataGrid();
             }
         }
     }
     catch (Exception ex)
     {
         UNOException.UNO_DBErrorLog(ex.Message, ex.StackTrace, clsCommonHandler.PageName());
     }
 }
        protected void btnImport_Click(object sender, EventArgs e)
        {
            if (fileuploadExcel.HasFile)
            {
                try
                {
                    string extension             = Path.GetExtension(fileuploadExcel.FileName).ToLower();
                    string file                  = Path.GetFileNameWithoutExtension(fileuploadExcel.FileName).ToLower();
                    string path                  = string.Concat(Server.MapPath("~/Uploaded Folder/" + fileuploadExcel.FileName));
                    string excelConnectionString = "";
                    fileuploadExcel.SaveAs(path);

                    if (extension == ".xls")
                    {
                        excelConnectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;;Data Source={0};Extended Properties=Excel 8.0", path);
                    }
                    else if (extension == ".xlsx")
                    {
                        excelConnectionString = string.Format("Provider=Microsoft.Jet.OLEDB.12.0;;Data Source={0};Extended Properties=Excel 8.0", path);
                    }

                    else
                    {
                        lblBulkErrorMessage.Text    = "Please upload valid file.";
                        lblBulkErrorMessage.Visible = true;
                        mpeAddZone.Show();
                        return;
                    }

                    OleDbConnection connection = new OleDbConnection();

                    connection.ConnectionString = excelConnectionString;

                    string CONSTANT_LV_REC_ID = string.Empty;

                    string[] sheetName = GetExcelSheetNames(file, path);

                    OleDbCommand command = new OleDbCommand("select * from [" + sheetName[0].ToString() + "]", connection);

                    OleDbDataAdapter da = new OleDbDataAdapter(command);

                    dsLVCutUpload = new DataSet();

                    da.Fill(dsLVCutUpload);

                    DtLVCutUpload = dsLVCutUpload.Tables[0];
                    int int_cnt = 0;

                    StringBuilder strXML = new StringBuilder();
                    strXML.Append("<Employees>");
                    for (int i = 0; i < DtLVCutUpload.Rows.Count; i++)
                    {
                        int count = 0;
                        try
                        {
                            if (DtLVCutUpload.Rows[i]["EL_EMP_ID"].ToString() != "" && DtLVCutUpload.Rows[i]["EL_RETIREMENT_DATE"].ToString() != "" && DtLVCutUpload.Rows[i]["EL_REASON"].ToString() != "")
                            {
                                count = count + 1;
                            }
                        }
                        catch (Exception ex)
                        {
                        }

                        dtLVCutUploadError = new DataTable();

                        DataTable dt1 = dsLVCutUpload.Tables[0];

                        dtLVCutUploadError.Columns.Add("EL_EMP_ID", typeof(string));
                        dtLVCutUploadError.Columns.Add("EL_RETIREMENT_DATE", typeof(string));
                        dtLVCutUploadError.Columns.Add("EL_REASON", typeof(string));


                        if (DtLVCutUpload.Rows[i]["EL_EMP_ID"].ToString() == "" || DtLVCutUpload.Rows[i]["EL_RETIREMENT_DATE"].ToString() == "" || DtLVCutUpload.Rows[i]["EL_REASON"].ToString() == "")
                        {
                            dtLVCutUploadError.ImportRow(dt1.Rows[i]);
                        }
                        else
                        {
                            count = count + 1;
                        }
                        if (conn.State == ConnectionState.Closed)
                        {
                            conn.Open();
                        }
                        SqlCommand objcmd = new SqlCommand();
                        objcmd.Connection  = conn;
                        objcmd.CommandText = "SELECT COUNT(*) FROM ENT_EMPLOYEE_PERSONAL_DTLS  WHERE EPD_EMPID ='" + DtLVCutUpload.Rows[i]["EL_EMP_ID"].ToString() + "'";
                        int cnt = Convert.ToInt32(objcmd.ExecuteScalar());
                        if (cnt == 0)
                        {
                            dtLVCutUploadError.ImportRow(dt1.Rows[i]);
                        }
                        else
                        {
                            count = count + 1;
                        }

                        if (conn.State == ConnectionState.Closed)
                        {
                            conn.Open();
                        }

                        SqlCommand objcmd1 = new SqlCommand();
                        objcmd1.Connection  = conn;
                        objcmd1.CommandText = "select COUNT(*) from [ENT_Reason] where Reason_Type='EL'  and isnull(Reason_IsDeleted,0)=0 and  Reason_ID='" + DtLVCutUpload.Rows[i]["EL_REASON"].ToString() + "' ";
                        int cnt1 = Convert.ToInt32(objcmd1.ExecuteScalar());
                        if (cnt1 == 0)
                        {
                            dtLVCutUploadError.ImportRow(dt1.Rows[i]);
                            lblMessages.Text    = "Please rectify the Reason ID and upload again.";
                            lblMessages.Visible = true;
                            return;
                        }
                        else
                        {
                            count = count + 1;
                        }

                        if (conn.State == ConnectionState.Open)
                        {
                            conn.Close();
                        }
                        try
                        {
                            count = count + 1;
                        }
                        catch (Exception ex)
                        {
                            dtLVCutUploadError.ImportRow(dt1.Rows[i]);
                            lblMessages.Text    = "Please rectify the Date format and upload again.";
                            lblMessages.Visible = true;
                            return;
                        }
                        if (count == 5)
                        {
                            int_cnt++;
                            string strErrorMsg = string.Empty;
                            strXML.Append("<Employee>");
                            strXML.Append("<EL_EMP_ID>" + DtLVCutUpload.Rows[i]["EL_EMP_ID"].ToString() + "</EL_EMP_ID>");
                            strXML.Append("<EL_REASON>" + DtLVCutUpload.Rows[i]["EL_REASON"].ToString() + "</EL_REASON>");
                            strXML.Append("<EL_RETIREMENT_DATE>" + DtLVCutUpload.Rows[i]["EL_RETIREMENT_DATE"].ToString() + "</EL_RETIREMENT_DATE>");
                            strXML.Append("</Employee>");
                            // updateLeavecut(DtLVCutUpload.Rows[i]["EL_EMP_ID"].ToString(), Convert.ToDateTime(DtLVCutUpload.Rows[i]["EL_RETIREMENT_DATE"].ToString()), 0, DtLVCutUpload.Rows[i]["EL_REASON"].ToString(), ref strErrorMsg);
                            if (strErrorMsg.Trim().Length > 1)
                            {
                                lblMessages.Text    = strErrorMsg;
                                lblMessages.Visible = true;
                                return;
                            }
                            else
                            {
                                lblMessages.Text = string.Empty;
                            }
                        }
                    }
                    strXML.Append("</Employees>");

                    if (dtLVCutUploadError.Rows.Count > 0)
                    {
                        ShowReport();
                        ReportViewer1.Visible = true;
                        lblMessages.Text      = "Error report generated, please rectify and upload again.";
                        lblMessages.Visible   = true;
                        bindDataGrid();
                    }
                    else
                    {
                        if (int_cnt > 1)
                        {
                            clsEmployeeLeft objEmp = new clsEmployeeLeft();
                            objEmp.CreatedBy = Session["uid"].ToString();
                            clsEmployeeLeftHandler.LetfEmployees(objEmp, strXML.ToString(), ref strErrMsg, ref strSuccMsg, clsCommonHandler.PageName());

                            if (strErrMsg.Trim().Length >= 1)
                            {
                                ReportViewer1.Visible = false;
                                lblMessages.Text      = strErrMsg;
                                lblMessages.Visible   = true;
                                return;
                            }
                            else
                            {
                                ReportViewer1.Visible = false;
                                lblMessages.Text      = strSuccMsg;
                                lblMessages.Visible   = true;
                                bindDataGrid();
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    UNOException.UNO_DBErrorLog(ex.Message, ex.StackTrace, clsCommonHandler.PageName());
                }
            }
        }
        private void SaveLeft(string RecID)
        {
            string employeeID    = string.Empty;
            string Emp_Left_date = "";
            string Reason        = RecID == "0" ? ddlReasonAdd.SelectedValue.ToString() : ddlReasonEdit.SelectedValue.ToString();

            if (RecID == "0")
            {
                employeeID    = lstEmployees.SelectedValue;
                Emp_Left_date = txtCalendarFrom.Text;
            }
            else
            {
                employeeID = txtEditEmployeeName.Text;
                if (TextBox1.Text != "")
                {
                    Emp_Left_date = TextBox1.Text;
                }
            }

            try
            {
                clsEmployeeLeft objEmp = new clsEmployeeLeft();
                objEmp.RecID     = Convert.ToInt32(RecID);
                objEmp.EmpID     = employeeID;
                objEmp.CreatedBy = Session["uid"].ToString();
                objEmp.LeftDate  = Emp_Left_date;
                objEmp.Reason    = Reason;
                clsEmployeeLeftHandler.InsertUpdateEmpLeftDetails(objEmp, "", ref strErrMsg, ref strSuccMsg, clsCommonHandler.PageName());
                if (strErrMsg.Trim().Length >= 1)
                {
                    if (RecID == "0")
                    {
                        mpeAddNewEntry.Show();
                        lblErrorSingleEntry.Text = strErrMsg;
                        ScriptManager.RegisterClientScriptBlock(UpdatePanel4, UpdatePanel4.GetType(), "Script", "validateChosen();", true);
                    }
                    else
                    {
                        lblEditError.Visible = true;
                        lblEditError.Text    = strErrMsg;
                        ScriptManager.RegisterClientScriptBlock(updatepnlEditLeaveData, updatepnlEditLeaveData.GetType(), "Script", "validateChosen();", true);
                    }
                }
                else
                {
                    if (RecID == "0")
                    {
                        lblMessages.Text = strSuccMsg;
                        mpeAddNewEntry.Hide();
                        bindDataGrid();
                        ResellAll_NewEntry();
                    }
                    else
                    {
                        lblMessages.Text = strSuccMsg;
                        mpeModifyZone.Hide();
                        this.bindDataGrid();
                        ResellAll_NewEntry();
                    }
                }
            }
            catch (Exception ex)
            {
                UNOException.UNO_DBErrorLog(ex.Message, ex.StackTrace, clsCommonHandler.PageName());
            }
        }