protected void rcmb_PeriodElement_SelectedIndexChanged(object o, RadComboBoxSelectedIndexChangedEventArgs e) { try { tr_OTDt.Visible = false; rdtp_OTDt.Visible = false; Rg_OTDetails.Visible = false; btn_Process.Visible = false; btn_Cancle.Visible = false; if (rcmb_PeriodMaster.SelectedIndex <= 0) { BLL.ShowMessage(this, "Please Select Period"); return; } if (rcmb_PeriodElement.SelectedIndex > 0) { Rg_OTDetails.Enabled = true; Rg_OTDetails.Visible = true; SMHR_PAYROLL _obj_smhr_payroll = new SMHR_PAYROLL(); _obj_smhr_payroll.BUID = Convert.ToInt32(rcmb_BUI.SelectedItem.Value); _obj_smhr_payroll.PERIODDTLID = Convert.ToInt32(rcmb_PeriodElement.SelectedItem.Value); _obj_smhr_payroll.PERODID = Convert.ToInt32(rcmb_PeriodMaster.SelectedItem.Value); //_obj_smhr_payroll.MODE = 10; _obj_smhr_payroll.MODE = 35; DataTable dt = BLL.get_PayDetails(_obj_smhr_payroll); Rg_OTDetails.DataSource = dt; Rg_OTDetails.DataBind(); Rg_OTDetails.Visible = true; if (dt.Rows.Count == 0) { // LoadGrid(); if (Convert.ToInt32(Session["WRITEFACILITY"]) == 2) { btn_Process.Visible = false; } else { btn_Process.Visible = false; } Rg_OTDetails.Visible = true; //Rg_OTDetails.Visible = true; btn_Cancle.Visible = true; } else { Rg_OTDetails.Visible = true; btn_Process.Visible = false; Rg_OTDetails.Enabled = false; btn_Cancle.Visible = true; // LoadGrid(); } } //{ // rdtp_OTDt.SelectedDate = null; // SMHR_PERIODDTL _obj_smhr_prddtl = new SMHR_PERIODDTL(); // DataTable dt_Details = new DataTable(); // _obj_smhr_prddtl.OPERATION = operation.Select; // _obj_smhr_prddtl.PRDDTL_ID = Convert.ToInt32(rcmb_PeriodElement.SelectedValue); // dt_Details = BLL.get_PeriodDetails(_obj_smhr_prddtl); // if (dt_Details.Rows.Count > 0) // { // if (Convert.ToDateTime(dt_Details.Rows[0][3].ToString()) <= DateTime.Now) // //if (Convert.ToDateTime(dt_Details.Rows[0][3].ToString()).Month <= DateTime.Now.Month) // { // rdtp_OTDt.MinDate = Convert.ToDateTime(dt_Details.Rows[0]["PRDDTL_STARTDATE"].ToString()); // if (Convert.ToDateTime(dt_Details.Rows[0]["PRDDTL_ENDDATE"].ToString()) > DateTime.Now) // //if (Convert.ToDateTime(dt_Details.Rows[0]["PRDDTL_ENDDATE"].ToString()).Month > DateTime.Now.Month) // { // //DateTime start = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1); // //DateTime end = start.AddMonths(1).AddDays(-1); // //rdtp_OTDt.MaxDate = end; // rdtp_OTDt.MaxDate = DateTime.Now; // } // else // { // rdtp_OTDt.MaxDate = Convert.ToDateTime(dt_Details.Rows[0]["PRDDTL_ENDDATE"].ToString()); // } // //tr_OTDt.Visible = true; // //rdtp_OTDt.Visible = true; // } // } //} //if (rcmb_BUI.SelectedIndex > 0) //{ // tr_OTDt.Visible = true; //To display datepicker // rdtp_OTDt.MaxDate = DateTime.Today.AddDays(-1); //} else { Rg_OTDetails.Visible = false; btn_Process.Visible = false; btn_Cancle.Visible = false; // Rg_OTDetails.Visible = false; BLL.ShowMessage(this, "Please Select Period Element"); return; } if (Convert.ToInt32(Session["WRITEFACILITY"]) == 2) { btn_Finalise.Visible = false; btn_Process.Visible = false; } } catch (Exception ex) { SMHR.BLL.Error_Log(Session["USER_ID"].ToString(), ex.TargetSite.ToString(), ex.Message.Replace("'", "''"), "frm_overtimecalc", ex.StackTrace, DateTime.Now); Response.Redirect("~/Frm_ErrorPage.aspx"); } }
protected void LoadGrid() { try { _obj_smhr_ottrans = new SMHR_EMPOTTRANS(); _obj_smhr_ottrans.BUID = Convert.ToInt32(rcmb_BUI.SelectedItem.Value); _obj_smhr_ottrans.MODE = 1; _obj_smhr_ottrans.EMPOTTRANS_PERIODDTL_ID = Convert.ToInt32(rcmb_PeriodElement.SelectedItem.Value); _obj_smhr_ottrans.OTCALC_DATE = Convert.ToDateTime(rdtp_OTDt.SelectedDate); //To pass Overtime Date _obj_smhr_ottrans.ORGANISATION_ID = Convert.ToInt32(Session["ORG_ID"]); dt_Load = BLL.calculate_OT(_obj_smhr_ottrans); Rg_OTDetails.DataSource = dt_Load; // NEED TO CALL A METHOD FOR MAKING THE FIELDS AS READ ONLY Rg_OTDetails.DataBind(); LoadEmpData(); /* To disable no. of hours textbox */ Telerik.Web.UI.RadNumericTextBox rntxt = new RadNumericTextBox(); Label lblempid = new Label(); for (int i = 0; i <= Rg_OTDetails.Items.Count - 1; i++) { //ddlList = Rg_OTDetails.Items[i].FindControl("rcmb_AttDtls_Status") as RadComboBox; rntxt = Rg_OTDetails.Items[i].FindControl("txt_nofdays") as RadNumericTextBox; rntxt.Enabled = false; //TO GET PAYROLL STATUS //chk = Rg_OTDetails.Items[i].FindControl("chckbtn_Select") as CheckBox; lblempid = Rg_OTDetails.Items[i].FindControl("lbl_empid") as Label; SMHR_ATTENDANCE _obj_Smhr_Attendance = new SMHR_ATTENDANCE(); _obj_Smhr_Attendance.OPERATION = operation.Select1; _obj_Smhr_Attendance.ATTENDANCE_BU_ID = Convert.ToInt32(rcmb_BUI.SelectedItem.Value); _obj_Smhr_Attendance.ATTENDANCE_PERIOD_ID = Convert.ToInt32(rcmb_PeriodMaster.SelectedItem.Value); _obj_Smhr_Attendance.ATTENDANCE_PERIOD_DTL_ID = Convert.ToInt32(rcmb_PeriodElement.SelectedItem.Value); _obj_Smhr_Attendance.ATTENDANCE_EMP_ID = Convert.ToInt32(lblempid.Text); DataTable dt_status = BLL.get_Attendance(_obj_Smhr_Attendance); bool st = false; if (dt_status.Rows.Count > 0) { for (int count = 0; count < dt_status.Rows.Count; count++) { if (Convert.ToString(dt_status.Rows[count]["COUNT"]) != "0") { st = true;//IF PAYROLL IS IN PENDING OR APPROVED } } } if ((Convert.ToString(Convert.ToString(dt_Load.Rows[i][2]))).Trim() != "") { if ((Convert.ToString(Convert.ToString(dt_Load.Rows[i][3]))).Trim() == "0") { //ddlList.SelectedIndex = ddlList.FindItemIndexByValue(Convert.ToString("P")); ////ddlList.BackColor = Color.Red; //ddlList.ForeColor = Color.Black; rntxt.Enabled = true; } else if ((Convert.ToString(Convert.ToString(dt_Load.Rows[i][3]))).Trim() == "1") { //ddlList.SelectedIndex = ddlList.FindItemIndexByValue(Convert.ToString("L")); //ddlList.ForeColor = Color.Magenta; rntxt.Enabled = false; rntxt.Text = "0.00"; } else if ((Convert.ToString(Convert.ToString(dt_Load.Rows[i][3]))).Trim() == "2") { //ddlList.SelectedIndex = ddlList.FindItemIndexByValue(Convert.ToString("W")); //ddlList.ForeColor = Color.Blue; rntxt.Enabled = false; rntxt.Text = "0.00"; } else if ((Convert.ToString(Convert.ToString(dt_Load.Rows[i][3]))).Trim() == "3") { //ddlList.SelectedIndex = ddlList.FindItemIndexByValue(Convert.ToString("H")); //ddlList.ForeColor = Color.DarkGreen; rntxt.Enabled = false; rntxt.Text = "0.00"; } else if ((Convert.ToString(Convert.ToString(dt_Load.Rows[i][3]))).Trim() == "4") { //ddlList.SelectedIndex = ddlList.FindItemIndexByValue(Convert.ToString("HL")); //ddlList.ForeColor = Color.DarkGoldenrod; rntxt.Enabled = false; rntxt.Text = "0.00"; } else if ((Convert.ToString(Convert.ToString(dt_Load.Rows[i][3]))).Trim() == "5") { //ddlList.SelectedIndex = ddlList.FindItemIndexByValue(Convert.ToString("A")); //ddlList.ForeColor = Color.Red; rntxt.Enabled = false; rntxt.Text = "0.00"; } else if ((Convert.ToString(Convert.ToString(dt_Load.Rows[i][3]))).Trim() == "-1") { //ddlList.SelectedIndex = ddlList.FindItemIndexByValue(Convert.ToString("A")); //ddlList.ForeColor = Color.Red; //ddlList.Enabled = false; rntxt.Enabled = false; rntxt.Text = "0.00"; } } else if ((Convert.ToString(Convert.ToString(dt_Load.Rows[i][2]))).Trim() == "") { //ddlList.SelectedIndex = ddlList.FindItemIndexByValue(Convert.ToString("A")); //ddlList.ForeColor = Color.Red; rntxt.Enabled = false; rntxt.Text = "0.00"; } if (st == true) { //ddlList.Enabled = false; rntxt.Enabled = false; //chk.Enabled = false; } else { //ddlList.Enabled = true; rntxt.Enabled = true; //chk.Enabled = true; //EMP_COUNT++; } //if (Convert.ToString(Convert.ToString(DT_Employee.Rows[i][3])) == "0") // ddlList.SelectedIndex = ddlList.FindItemIndexByValue(Convert.ToString("P")); //else if (Convert.ToString(Convert.ToString(DT_Employee.Rows[i][3])) == "1") // ddlList.SelectedIndex = ddlList.FindItemIndexByValue(Convert.ToString("L")); //else if (Convert.ToString(Convert.ToString(DT_Employee.Rows[i][3])) == "2") // ddlList.SelectedIndex = ddlList.FindItemIndexByValue(Convert.ToString("W")); //else if (Convert.ToString(Convert.ToString(DT_Employee.Rows[i][3])) == "3") // ddlList.SelectedIndex = ddlList.FindItemIndexByValue(Convert.ToString("H")); //else if (Convert.ToString(Convert.ToString(DT_Employee.Rows[i][3])) == " ") // ddlList.SelectedIndex = ddlList.FindItemIndexByValue(Convert.ToString("A")); } /* To disable no. of hours textbox */ } catch (Exception ex) { SMHR.BLL.Error_Log(Session["USER_ID"].ToString(), ex.TargetSite.ToString(), ex.Message.Replace("'", "''"), "frm_overtimecalc", ex.StackTrace, DateTime.Now); Response.Redirect("~/Frm_ErrorPage.aspx"); } }
protected void btn_Process_Click(object sender, EventArgs e) { try { /* To check if record is selected */ int count = 0; int OtCount = 0; for (int x = 0; x < Rg_OTDetails.Items.Count; x++) { CheckBox chk = Rg_OTDetails.Items[x].FindControl("chk_emp") as CheckBox; RadNumericTextBox rnt = Rg_OTDetails.Items[x].FindControl("txt_nofdays") as RadNumericTextBox; if (chk.Checked) { count++; if (rnt.Value != null) { OtCount++; } } } if (count == 0) { BLL.ShowMessage(this, "Please Select Atleast one Employee."); return; } if (count != OtCount) { BLL.ShowMessage(this, "Please Enter No. Of OT Hours for Selected Employees."); return; } /* To check if record is selected */ int i, a, b; //int j = 0; decimal c = 0; StringBuilder strQry = new StringBuilder(); _obj_smhr_ottrans = new SMHR_EMPOTTRANS(); _obj_smhr_ottrans.BUID = Convert.ToInt32(rcmb_BUI.SelectedItem.Value); _obj_smhr_ottrans.EMPOTTRANS_PERIOD_ID = Convert.ToInt32(rcmb_PeriodMaster.SelectedItem.Value); _obj_smhr_ottrans.EMPOTTRANS_PERIODDTL_ID = Convert.ToInt32(rcmb_PeriodElement.SelectedItem.Value); for (i = 0; i <= Rg_OTDetails.Items.Count - 1; i++) { Label lblempid = new Label(); RadNumericTextBox txtgetVal = new RadNumericTextBox(); CheckBox chkChoose = new CheckBox(); Label lblAtt_Status = new Label(); chkChoose = Rg_OTDetails.Items[i].FindControl("chk_emp") as CheckBox; txtgetVal = Rg_OTDetails.Items[i].FindControl("txt_nofdays") as RadNumericTextBox; lblempid = Rg_OTDetails.Items[i].FindControl("lbl_empid") as Label; lblAtt_Status = Rg_OTDetails.Items[i].FindControl("lbl_Att_Status") as Label; if (Convert.ToString(txtgetVal.Text) != "" && chkChoose.Checked) { //if (Convert.ToDouble(txtgetVal.Text) >= 720) //{ // BLL.ShowMessage(this, "No of working Hours should not exceed 720"); // return; //} if (Convert.ToDouble(txtgetVal.Text) > 15) { BLL.ShowMessage(this, "No of working Hours should not exceed 15"); return; } //if (chkChoose.Checked == false) //{ // //BLL.ShowMessage(this, "Please select Employee"); // //return; // continue; //} _obj_smhr_employee = new SMHR_EMPLOYEE(); _obj_smhr_employee.EMP_ID = Convert.ToInt32(lblempid.Text); _obj_smhr_employee.Mode = 1; DataTable dt = BLL.get_EmpESS(_obj_smhr_employee); if (dt.Rows.Count != 0) { //sal = Convert.ToInt32(dt.Rows[0]["EMP_GROSSSAL"]); sal = Convert.ToInt32(dt.Rows[0]["EMP_BASIC"]); } a = Convert.ToInt32(txtgetVal.Text); ///to caluluate OT hours we should subtract normal working hours 180 from total input ///formula to calculate OT for Weekends ///Basic Salary * 2/480 = Rate * Total Hours Worked = Total Amount /// ///formula to claculate OT for Weekdays ///Basic Salary * 3/480 = Rate * Total Hours Worked = Total Amount /* Attendance Staus*/ /* Note: * Present = "P" * Absent = "A" * Leave = "L" * Weekly-Off = "W" * Travel = "T" * Comp Off = "C" * Holiday = "H" * Half Day Absent = "HD" * Half Day Leave = "HL" */ //To calculate over time if (lblAtt_Status.Text.Trim() == "P") //WeekDay { /* WeekDay Calculation */ b = a; //c = ((sal * 3 )/ 480) * b; c = Math.Round(((((Convert.ToDecimal(sal) * 3) / 480)) * b), 0); string otamount = Convert.ToString(c); /* For WeekDay Overtime */ } else if (lblAtt_Status.Text.Trim() == "W") //WeekEnd/WeekOff { /* WeekEnds Calculation */ b = a; c = (sal * 2 / 240) * b; c = Math.Round(((((Convert.ToDecimal(sal) * 2) / 240)) * b), 0); string otamount = Convert.ToString(c); /* For WeekEnds Overtime */ } else if (lblAtt_Status.Text.Trim() == "WO") //WeekEnd/WeekOff { /* WeekEnds Calculation */ b = a; c = (sal * 2 / 240) * b; c = Math.Round(((((Convert.ToDecimal(sal) * 2) / 240)) * b), 0); string otamount = Convert.ToString(c); /* For WeekEnds Overtime */ } else if (lblAtt_Status.Text.Trim() == "H") //Holidays { /* WeekEnds Calculation */ b = a; //c = (sal * 2 / 240) * b; c = Math.Round(((((Convert.ToDecimal(sal) * 2) / 240)) * b), 0); string otamount = Convert.ToString(c); /* For WeekEnds Overtime */ } else { continue; } /* Previous code */ //b = a; //c = (b * sal) / 180; //string otamount = Convert.ToString(c); /* Previous code */ _obj_smhr_ottrans.EMPOTTRANS_EMPID = Convert.ToInt32(lblempid.Text); _obj_smhr_ottrans.EMPOTTRANS_PERIOD_ID = Convert.ToInt32(rcmb_PeriodMaster.SelectedItem.Value); _obj_smhr_ottrans.EMPOTTRANS_HOURS = b; _obj_smhr_ottrans.EMPOTTANS_AMOUNT = Convert.ToSingle(c); _obj_smhr_ottrans.EMPOTTRANS_STATUS = 0; _obj_smhr_ottrans.CREATEDBY = Convert.ToInt32(Session["USER_ID"]); _obj_smhr_ottrans.CREATEDDATE = System.DateTime.Now; _obj_smhr_ottrans.LASTMDFBY = Convert.ToInt32(Session["USER_ID"]); _obj_smhr_ottrans.LASTMDFDATE = System.DateTime.Now; _obj_smhr_ottrans.MODE = 2; _obj_smhr_ottrans.ORGANISATION_ID = Convert.ToInt32(Session["ORG_ID"]); _obj_smhr_ottrans.OTCALC_DATE = Convert.ToDateTime(rdtp_OTDt.SelectedDate); strQry.Append("EXEC USP_SMHR_OTCALC "); string str = " @Mode = '" + _obj_smhr_ottrans.MODE + "'" + ",@BUID = '" + _obj_smhr_ottrans.BUID + "'" + ",@OTCALC_EMPID = '" + _obj_smhr_ottrans.EMPOTTRANS_EMPID + "'" + ",@OTCALC_PERIOD = '" + _obj_smhr_ottrans.EMPOTTRANS_PERIOD_ID + "'" + ",@EMPOTTRANS_PERIODDTL_ID = '" + _obj_smhr_ottrans.EMPOTTRANS_PERIODDTL_ID + "'" + ",@OTCALC_WORKINGHOURS = '" + _obj_smhr_ottrans.EMPOTTRANS_HOURS + "'" + ",@OTCALC_OTAMOUNT = '" + _obj_smhr_ottrans.EMPOTTANS_AMOUNT + "'" + ",@OTCALC_STATUS = '" + _obj_smhr_ottrans.EMPOTTRANS_STATUS + "'" + ",@OTCALC_ORG_ID='" + _obj_smhr_ottrans.ORGANISATION_ID + "'" + ",@OTCALC_CREATEDBY = '" + _obj_smhr_ottrans.EMPOTTRANS_STATUS + "'" + ",@OTCALC_CREATEDDATE = '" + Convert.ToDateTime(_obj_smhr_ottrans.CREATEDDATE).ToString("MM/dd/yyyy") + "'" + ",@OTCALC_LASTMDFBY = '" + _obj_smhr_ottrans.LASTMDFBY + "'" + ",@OTCALC_LASTMDFDATE = '" + Convert.ToDateTime(_obj_smhr_ottrans.LASTMDFDATE).ToString("MM/dd/yyyy") + "'" + ",@OTCALC_DATE = '" + Convert.ToDateTime(_obj_smhr_ottrans.OTCALC_DATE).ToString("MM/dd/yyyy") + "'"; strQry.Append(str); } //else //{ // j = j + 1; //} /*As The Tester Wants null can be inserted for the employee if they don't want to give any over time amount*/ /* Sravani */ //if (j == Rg_OTDetails.Items.Count) //{ // BLL.ShowMessage(this, "Please Enter atleaset one value"); // return; //} else { //IF THERE IS NO AMOUNT AND NO HOURS AN EMPLOYEE HAS WORKED THEN DELETING THAT RECORD _obj_smhr_ottrans = new SMHR_EMPOTTRANS(); _obj_smhr_ottrans.MODE = 3; _obj_smhr_ottrans.EMPOTTRANS_PERIODDTL_ID = Convert.ToInt32(rcmb_PeriodElement.SelectedValue); _obj_smhr_ottrans.BUID = Convert.ToInt32(rcmb_BUI.SelectedValue); _obj_smhr_ottrans.EMPOTTRANS_EMPID = Convert.ToInt32(lblempid.Text); _obj_smhr_ottrans.OTCALC_DATE = Convert.ToDateTime(rdtp_OTDt.SelectedDate); bool Status = BLL.Set_Ot(_obj_smhr_ottrans); } } if (strQry.Length > 0) { _obj_smhr_ottrans.MODE = 2; bool rs = BLL.Cal_OTAmount(_obj_smhr_ottrans, strQry.ToString()); if (rs == true) { BLL.ShowMessage(this, "Over Time Calculation Completed Successfully"); //btn_Cancle_Click(null, null); return; } else { BLL.ShowMessage(this, "Error found"); } Rg_OTDetails.DataBind(); if (Convert.ToInt32(Session["WRITEFACILITY"]) == 2) { btn_Finalise.Visible = false; } else { btn_Finalise.Visible = false; } btn_Process.Enabled = true; } else { BLL.ShowMessage(this, "Over Time Calculation Completed Successfully"); } //} } catch (Exception ex) { SMHR.BLL.Error_Log(Session["USER_ID"].ToString(), ex.TargetSite.ToString(), ex.Message.Replace("'", "''"), "frm_overtimecalc", ex.StackTrace, DateTime.Now); Response.Redirect("~/Frm_ErrorPage.aspx"); } }