protected void btn_Confirm_Clcik(object sender, EventArgs e) { try { string OCODE = ((SessionUser)Session["SessionUser"]).OCode; DateTime EDIT_DATE = DateTime.Now; Guid userId = ((SessionUser)Session["SessionUser"]).UserId; Attendance_BLL _attendancebll = new Attendance_BLL(); List <HRM_AttendanceReason_Individual> lstHRM_AttendanceReason_Individual = new List <HRM_AttendanceReason_Individual>(); if (chkIndividualShift.Checked) //individual process { for (int i = 0; i < Convert.ToInt16(hdfTotalDay.Value); i++) { if (txtbxEID.Text == "") { ScriptManager.RegisterStartupScript(this.Page, Page.GetType(), "text", "func('Enter E-ID!')", true); return; } if (txtFromDate.Text == "") { ScriptManager.RegisterStartupScript(this.Page, Page.GetType(), "text", "func('Select Attendance Date!')", true); return; } HRM_AttendanceReason_Individual _attendance = new HRM_AttendanceReason_Individual(); string shiftCode = hdShiftCode.Value; string EID = txtbxEID.Text; DateTime fromdate = Convert.ToDateTime(txtFromDate.Text); var getAttendancedata = aAttendance_BLL.GetAttendanceByEID_Date(OCODE, EID, Convert.ToDateTime(txtFromDate.Text)); List <HRM_AttendanceReason_Individual> a_HRM_AttendanceReason_Individual = aAttendance_BLL.GetHRM_AttendanceReason_Individual(EID, fromdate.AddDays(i)); if (a_HRM_AttendanceReason_Individual.Count == 0) //insert { _attendance.EID = txtbxEID.Text; _attendance.ReasonDate = fromdate.AddDays(i); _attendance.Remarks = txtbxremark.Text; _attendance.Status = "true"; _attendance.ShiftCode = shiftCode; _attendance.OCode = ((SessionUser)Session["SessionUser"]).OCode; _attendance.Edit_Date = DateTime.Now; _attendance.Edit_User = ((SessionUser)Session["SessionUser"]).UserId; TimeSpan start_time = TimeSpan.Parse(string.Format("{0}:{1}:{2}", txtAttInTime.Hour, txtAttInTime.Minute, txtAttInTime.Second)); _attendance.InTime = start_time; TimeSpan end_time = TimeSpan.Parse(string.Format("{0}:{1}:{2}", txtAttOutTime.Hour, txtAttOutTime.Minute, txtAttOutTime.Second)); _attendance.OutTime = end_time; TimeSpan lateAllowed = TimeSpan.Parse(string.Format("{0}:{1}:{2}", txtLateAllowed.Hour, txtLateAllowed.Minute, txtLateAllowed.Second)); _attendance.LateAllowed = lateAllowed; TimeSpan totalHour, hour1, hour2; if (start_time > end_time) { hour1 = TimeSpan.Parse("23:59:59"); hour2 = Calculations.timeDiff(start_time, hour1); totalHour = hour2 + end_time; _attendance.Shift_TotalHour = totalHour; } else { totalHour = Calculations.timeDiff(start_time, end_time); _attendance.Shift_TotalHour = totalHour; } lstHRM_AttendanceReason_Individual.Add(_attendance); _context.HRM_AttendanceReason_Individual.AddObject(_attendance); try { _context.SaveChanges(); if (getAttendancedata.Count > 0) { aAttendance_RPT_Bll.UpdateAll_AttStatus_ByDate(Convert.ToDateTime(txtFromDate.Text), Convert.ToDateTime(txtFromDate.Text)); // update attendnace status by date // insert/update leave/holiday attendnace status process by selected eid aAttendance_RPT_Bll.Insert_Update_AbsentLeaveStatus_ByDate_EID1(lstHRM_AttendanceReason_Individual, Convert.ToDateTime(txtFromDate.Text), Convert.ToDateTime(txtFromDate.Text)); //ot process List <string> ShiftCodes = aAttendance_BLL.GetAllShiftCode(OCODE).ToList(); foreach (string ashiftcode in ShiftCodes) { aAttendance_BLL.UpdateOT_ByDateandShift(Convert.ToDateTime(txtFromDate.Text), Convert.ToDateTime(txtFromDate.Text), ashiftcode); } //ot process log var ParamempID1 = new SqlParameter("@DateFrom", Convert.ToDateTime(txtFromDate.Text)); var ParamempID2 = new SqlParameter("@DateTo", Convert.ToDateTime(txtFromDate.Text)); var ParamempID3 = new SqlParameter("@Edit_User", userId); var ParamempID4 = new SqlParameter("@Edit_Date", DateTime.Now); var ParamempID5 = new SqlParameter("@OCODE", OCODE); string SP_SQL = "HRM_Insert_OTProcessLog @DateFrom, @DateTo, @Edit_User, @Edit_Date, @OCODE"; _context.ExecuteStoreCommand(SP_SQL, ParamempID1, ParamempID2, ParamempID3, ParamempID4, ParamempID5); // } ScriptManager.RegisterStartupScript(this.Page, Page.GetType(), "text", "func('Data Processed Successfully')", true); grdview.DataSource = null; grdview.DataBind(); } catch (Exception ex) { ScriptManager.RegisterStartupScript(this.Page, Page.GetType(), "text", "func('" + ex.Message + "')", true); } //ClearUI(); } else //update { DateTime iDate = fromdate.AddDays(i); foreach (var AttendanceReason in _context.HRM_AttendanceReason_Individual.Where(x => x.EID == EID && x.ReasonDate == iDate)) { //AttendanceReason.ReasonDate = Convert.ToDateTime(txtFromDate.Text); AttendanceReason.Remarks = txtbxremark.Text; AttendanceReason.Status = "true"; AttendanceReason.ShiftCode = shiftCode; AttendanceReason.OCode = ((SessionUser)Session["SessionUser"]).OCode; AttendanceReason.Edit_Date = DateTime.Now; AttendanceReason.Edit_User = ((SessionUser)Session["SessionUser"]).UserId; TimeSpan start_time = TimeSpan.Parse(string.Format("{0}:{1}:{2}", txtAttInTime.Hour, txtAttInTime.Minute, txtAttInTime.Second)); AttendanceReason.InTime = start_time; TimeSpan end_time = TimeSpan.Parse(string.Format("{0}:{1}:{2}", txtAttOutTime.Hour, txtAttOutTime.Minute, txtAttOutTime.Second)); AttendanceReason.OutTime = end_time; TimeSpan lateAllowed = TimeSpan.Parse(string.Format("{0}:{1}:{2}", txtLateAllowed.Hour, txtLateAllowed.Minute, txtLateAllowed.Second)); _attendance.LateAllowed = lateAllowed; TimeSpan totalHour, hour1, hour2; if (start_time > end_time) { hour1 = TimeSpan.Parse("23:59:59"); hour2 = Calculations.timeDiff(start_time, hour1); totalHour = hour2 + end_time; AttendanceReason.Shift_TotalHour = totalHour; } else { totalHour = Calculations.timeDiff(start_time, end_time); AttendanceReason.Shift_TotalHour = totalHour; } lstHRM_AttendanceReason_Individual.Add(_attendance); } try { _context.SaveChanges(); if (getAttendancedata.Count > 0) { aAttendance_RPT_Bll.UpdateAll_AttStatus_ByDate(Convert.ToDateTime(txtFromDate.Text), Convert.ToDateTime(txtFromDate.Text)); // update attendnace status by date // insert/update leave/holiday attendnace status process by selected eid aAttendance_RPT_Bll.Insert_Update_AbsentLeaveStatus_ByDate_EID1(lstHRM_AttendanceReason_Individual, Convert.ToDateTime(txtFromDate.Text), Convert.ToDateTime(txtFromDate.Text)); //ot process List <string> ShiftCodes = aAttendance_BLL.GetAllShiftCode(OCODE).ToList(); foreach (string ashiftcode in ShiftCodes) { aAttendance_BLL.UpdateOT_ByDateandShift(Convert.ToDateTime(txtFromDate.Text), Convert.ToDateTime(txtFromDate.Text), ashiftcode); } //ot process log var ParamempID1 = new SqlParameter("@DateFrom", Convert.ToDateTime(txtFromDate.Text)); var ParamempID2 = new SqlParameter("@DateTo", Convert.ToDateTime(txtFromDate.Text)); var ParamempID3 = new SqlParameter("@Edit_User", userId); var ParamempID4 = new SqlParameter("@Edit_Date", DateTime.Now); var ParamempID5 = new SqlParameter("@OCODE", OCODE); string SP_SQL = "HRM_Insert_OTProcessLog @DateFrom, @DateTo, @Edit_User, @Edit_Date, @OCODE"; _context.ExecuteStoreCommand(SP_SQL, ParamempID1, ParamempID2, ParamempID3, ParamempID4, ParamempID5); // } ScriptManager.RegisterStartupScript(this.Page, Page.GetType(), "text", "func('Data Processed Successfully')", true); grdview.DataSource = null; grdview.DataBind(); } catch (Exception ex) { ScriptManager.RegisterStartupScript(this.Page, Page.GetType(), "text", "func('" + ex.Message + "')", true); } } } ClearUI(); } else // dept/section/subsection wise process { if (grdview.Rows.Count < 0) { ScriptManager.RegisterStartupScript(this.Page, Page.GetType(), "text", "func('No Employee selected in the list!')", true); return; } foreach (GridViewRow gvRow in grdview.Rows) { for (int i = 0; i < Convert.ToInt16(hdfTotalDay.Value); i++) { CheckBox rowChkBox = ((CheckBox)gvRow.FindControl("rowLevelCheckBox")); HRM_AttendanceReason_Individual _attendance = new HRM_AttendanceReason_Individual(); Label lblEID = ((Label)gvRow.FindControl("lblEID")); Label lblShiftCode = ((Label)gvRow.FindControl("lblShiftCode")); string shiftCode = lblShiftCode.Text; string EID = lblEID.Text; DateTime fromdate = Convert.ToDateTime(txtFromDate.Text); List <HRM_AttendanceReason_Individual> a_HRM_AttendanceReason_Individual = aAttendance_BLL.GetHRM_AttendanceReason_Individual(EID, fromdate.AddDays(i)); //var getAttendancedata = aAttendance_BLL.GetAttendanceByEID_Date(OCODE, EID, fromdate); if (rowChkBox.Checked == true) { if (a_HRM_AttendanceReason_Individual.Count == 0) //insert { _attendance.EID = lblEID.Text; _attendance.ReasonDate = fromdate.AddDays(i); _attendance.Remarks = txtbxremark.Text; _attendance.Status = "true"; _attendance.ShiftCode = shiftCode; _attendance.OCode = ((SessionUser)Session["SessionUser"]).OCode; _attendance.Edit_Date = DateTime.Now; _attendance.Edit_User = ((SessionUser)Session["SessionUser"]).UserId; TimeSpan start_time = TimeSpan.Parse(string.Format("{0}:{1}:{2}", txtAttInTime.Hour, txtAttInTime.Minute, txtAttInTime.Second)); _attendance.InTime = start_time; TimeSpan end_time = TimeSpan.Parse(string.Format("{0}:{1}:{2}", txtAttOutTime.Hour, txtAttOutTime.Minute, txtAttOutTime.Second)); _attendance.OutTime = end_time; TimeSpan lateAllowed = TimeSpan.Parse(string.Format("{0}:{1}:{2}", txtLateAllowed.Hour, txtLateAllowed.Minute, txtLateAllowed.Second)); _attendance.LateAllowed = lateAllowed; TimeSpan totalHour, hour1, hour2; if (start_time > end_time) { hour1 = TimeSpan.Parse("23:59:59"); hour2 = Calculations.timeDiff(start_time, hour1); totalHour = hour2 + end_time; _attendance.Shift_TotalHour = totalHour; } else { totalHour = Calculations.timeDiff(start_time, end_time); _attendance.Shift_TotalHour = totalHour; } lstHRM_AttendanceReason_Individual.Add(_attendance); _context.HRM_AttendanceReason_Individual.AddObject(_attendance); //insert try { _context.SaveChanges(); //if (getAttendancedata.Count > 0) //{ //aAttendance_RPT_Bll.UpdateAll_AttStatus_ByDate(Convert.ToDateTime(txtFromDate.Text), Convert.ToDateTime(txtFromDate.Text)); // update attendnace status by date // insert/update leave/holiday attendnace status process by selected eid //aAttendance_RPT_Bll.Insert_Update_AbsentLeaveStatus_ByDate_EID1(lstHRM_AttendanceReason_Individual, Convert.ToDateTime(txtFromDate.Text), Convert.ToDateTime(txtFromDate.Text)); //ot process //List<string> ShiftCodes = aAttendance_BLL.GetAllShiftCode(OCODE).ToList(); //foreach (string ashiftcode in ShiftCodes) //{ // aAttendance_BLL.UpdateOT_ByDateandShift(Convert.ToDateTime(txtFromDate.Text), Convert.ToDateTime(txtFromDate.Text), ashiftcode); //} ////ot process log //var ParamempID1 = new SqlParameter("@DateFrom", Convert.ToDateTime(txtFromDate.Text)); //var ParamempID2 = new SqlParameter("@DateTo", Convert.ToDateTime(txtFromDate.Text)); //var ParamempID3 = new SqlParameter("@Edit_User", userId); //var ParamempID4 = new SqlParameter("@Edit_Date", DateTime.Now); //var ParamempID5 = new SqlParameter("@OCODE", OCODE); //string SP_SQL = "HRM_Insert_OTProcessLog @DateFrom, @DateTo, @Edit_User, @Edit_Date, @OCODE"; //_context.ExecuteStoreCommand(SP_SQL, ParamempID1, ParamempID2, ParamempID3, ParamempID4, ParamempID5); // //} ScriptManager.RegisterStartupScript(this.Page, Page.GetType(), "text", "func('Data Processed Successfully')", true); grdview.DataSource = null; grdview.DataBind(); } catch (Exception ex) { ScriptManager.RegisterStartupScript(this.Page, Page.GetType(), "text", "func('" + ex.Message + "')", true); } } else //update { DateTime iDate = fromdate.AddDays(i); foreach (var AttendanceReason in _context.HRM_AttendanceReason_Individual.Where(x => x.EID == EID && x.ReasonDate == iDate)) { AttendanceReason.Remarks = txtbxremark.Text; AttendanceReason.Status = "true"; AttendanceReason.ShiftCode = shiftCode; AttendanceReason.OCode = ((SessionUser)Session["SessionUser"]).OCode; AttendanceReason.Edit_Date = DateTime.Now; AttendanceReason.Edit_User = ((SessionUser)Session["SessionUser"]).UserId; TimeSpan start_time = TimeSpan.Parse(string.Format("{0}:{1}:{2}", txtAttInTime.Hour, txtAttInTime.Minute, txtAttInTime.Second)); AttendanceReason.InTime = start_time; TimeSpan end_time = TimeSpan.Parse(string.Format("{0}:{1}:{2}", txtAttOutTime.Hour, txtAttOutTime.Minute, txtAttOutTime.Second)); AttendanceReason.OutTime = end_time; TimeSpan lateAllowed = TimeSpan.Parse(string.Format("{0}:{1}:{2}", txtLateAllowed.Hour, txtLateAllowed.Minute, txtLateAllowed.Second)); _attendance.LateAllowed = lateAllowed; TimeSpan totalHour, hour1, hour2; if (start_time > end_time) { hour1 = TimeSpan.Parse("23:59:59"); hour2 = Calculations.timeDiff(start_time, hour1); totalHour = hour2 + end_time; AttendanceReason.Shift_TotalHour = totalHour; } else { totalHour = Calculations.timeDiff(start_time, end_time); AttendanceReason.Shift_TotalHour = totalHour; } lstHRM_AttendanceReason_Individual.Add(AttendanceReason); } try { _context.SaveChanges(); //update //if (getAttendancedata.Count > 0) //{ //aAttendance_RPT_Bll.UpdateAll_AttStatus_ByDate(Convert.ToDateTime(txtFromDate.Text), Convert.ToDateTime(txtFromDate.Text)); // update attendnace status by date // insert/update leave/holiday attendnace status process by selected eid //aAttendance_RPT_Bll.Insert_Update_AbsentLeaveStatus_ByDate_EID1(lstHRM_AttendanceReason_Individual, Convert.ToDateTime(txtFromDate.Text), Convert.ToDateTime(txtFromDate.Text)); //ot process //List<string> ShiftCodes = aAttendance_BLL.GetAllShiftCode(OCODE).ToList(); //foreach (string ashiftcode in ShiftCodes) //{ // aAttendance_BLL.UpdateOT_ByDateandShift(Convert.ToDateTime(txtFromDate.Text), Convert.ToDateTime(txtFromDate.Text), ashiftcode); //} ////ot process log //var ParamempID1 = new SqlParameter("@DateFrom", Convert.ToDateTime(txtFromDate.Text)); //var ParamempID2 = new SqlParameter("@DateTo", Convert.ToDateTime(txtFromDate.Text)); //var ParamempID3 = new SqlParameter("@Edit_User", userId); //var ParamempID4 = new SqlParameter("@Edit_Date", DateTime.Now); //var ParamempID5 = new SqlParameter("@OCODE", OCODE); //string SP_SQL = "HRM_Insert_OTProcessLog @DateFrom, @DateTo, @Edit_User, @Edit_Date, @OCODE"; //_context.ExecuteStoreCommand(SP_SQL, ParamempID1, ParamempID2, ParamempID3, ParamempID4, ParamempID5); // //} ScriptManager.RegisterStartupScript(this.Page, Page.GetType(), "text", "func('Data Processed Successfully')", true); grdview.DataSource = null; grdview.DataBind(); } catch (Exception ex) { ScriptManager.RegisterStartupScript(this.Page, Page.GetType(), "text", "func('" + ex.Message + "')", true); } } } } } ClearUI(); } } catch (Exception ex) { string EID = Convert.ToString(((SessionUser)Session["SessionUser"]).EID); // LogController<ExtraShiftEmployeewise>.SetLog(ex, EID); ScriptManager.RegisterStartupScript(this.Page, Page.GetType(), "text", "func('" + ex.Message + "')", true); } }