//Replace New TimeIn and Out with Old TimeIN and Out in Attendance Data public ManualAttendanceProcess(string EmpDate, string JobCardName, bool JobCardStatus, DateTime NewTimeIn, DateTime NewTimeOut, string NewDutyCode, int _UserID, TimeSpan _NewDutyTime, string _Remarks,short _ShiftMins) { _OldAttData = context.AttDatas.First(aa => aa.EmpDate == EmpDate); if (_OldAttData != null) { if (JobCardStatus == false) { SaveOldAttData(_OldAttData, _UserID); if (SaveNewAttData(NewTimeIn, NewTimeOut, NewDutyCode, _NewDutyTime, _Remarks,_ShiftMins)) { _OldAttData.TimeIn = NewTimeIn; _OldAttData.TimeOut = NewTimeOut; _OldAttData.DutyCode = NewDutyCode; _OldAttData.DutyTime = _NewDutyTime; _OldAttData.WorkMin = 0; _OldAttData.GZOTMin = 0; _OldAttData.OTMin = 0; _OldAttData.LateIn = 0; _OldAttData.EarlyIn = 0; _OldAttData.EarlyOut = 0; _OldAttData.LateOut = 0; _OldAttData.StatusAB = false; _OldAttData.StatusP = true; _OldAttData.StatusEO = null; _OldAttData.StatusEI = null; _OldAttData.StatusOT = null; _OldAttData.StatusLI = null; _OldAttData.StatusLO = null; _OldAttData.StatusDO = null; _OldAttData.StatusGZOT = null; _OldAttData.StatusLeave = null; _OldAttData.StatusMN = true; _OldAttData.ShifMin = _ShiftMins; _OldAttData.Remarks = ""; if (NewDutyCode == "G") _OldAttData.StatusGZ = true; else _OldAttData.StatusGZ = false; if (NewDutyCode == "R") _OldAttData.StatusDO = true; else _OldAttData.StatusDO = false; if (_Remarks != "") _OldAttData.Remarks = "[" + _Remarks + "]"; _OldAttData.StatusLeave = null; ProcessDailyAttendance(_OldAttData); } } } }
//Work Times calculation controller public void ProcessDailyAttendance(AttData _attData) { try { AttData attendanceRecord = _attData; Emp employee = attendanceRecord.Emp; Shift shift = employee.Shift; //If TimeIn and TimeOut are not null, then calculate other Atributes if (attendanceRecord.TimeIn != null && attendanceRecord.TimeOut != null) { //If TimeIn = TimeOut then calculate according to DutyCode if (attendanceRecord.TimeIn == attendanceRecord.TimeOut) { CalculateInEqualToOut(attendanceRecord); } else { if (attendanceRecord.DutyTime == new TimeSpan(0,0,0)) { CalculateOpenShiftTimes(attendanceRecord, shift); } else { //if (attendanceRecord.TimeIn.Value.Date.Day == attendanceRecord.TimeOut.Value.Date.Day) //{ CalculateShiftTimes(attendanceRecord, shift); //} //else //{ // CalculateOpenShiftTimes(attendanceRecord, shift); //} } } } } catch (Exception ex) { } context.SaveChanges(); context.Dispose(); }
public void AddHalfLeaveToAttData(LvApplication lvappl) { DateTime datetime = new DateTime(); datetime = lvappl.FromDate; string _EmpDate = lvappl.EmpID + datetime.Date.ToString("yyMMdd"); using (var db = new TAS2013Entities()) { if (db.AttProcesses.Where(aa => aa.ProcessDate == datetime).Count() > 0) { AttData _EmpAttData = new AttData(); _EmpAttData = db.AttDatas.First(aa => aa.EmpDate == _EmpDate); if (lvappl.LvType == "A")//Casual Leave _EmpAttData.Remarks = _EmpAttData.Remarks+"[H-CL]"; if (lvappl.LvType == "B")//Anual Leave _EmpAttData.Remarks = _EmpAttData.Remarks+"[H-AL]"; if (lvappl.LvType == "C")//Sick Leave _EmpAttData.Remarks = _EmpAttData.Remarks+"[H-SL]"; if (_EmpAttData.Remarks.Contains("[Absent]")) _EmpAttData.Remarks.Replace("[Abesnt]", ""); if (_EmpAttData.Remarks.Contains("[EO]")) _EmpAttData.Remarks.Replace("[EO]", "-"); if (_EmpAttData.Remarks.Contains("[LI]")) _EmpAttData.Remarks.Replace("[LI]", ""); _EmpAttData.StatusLeave = true; if (lvappl.FirstHalf == true) { _EmpAttData.LateIn = 0; _EmpAttData.StatusLI = false; } else { _EmpAttData.StatusEO = false; _EmpAttData.EarlyOut = 0; } //_EmpAttData.statushl db.SaveChanges(); } } }
public void AddShortLeaveToAttData(LvShort lvshort) { DateTime datetime = new DateTime(); using (var db = new TAS2013Entities()) { if (db.AttProcesses.Where(aa => aa.ProcessDate == datetime).Count() > 0) { AttData _EmpAttData = new AttData(); _EmpAttData = db.AttDatas.First(aa => aa.EmpDate == lvshort.EmpDate); _EmpAttData.StatusAB = false; _EmpAttData.StatusSL = true; _EmpAttData.Remarks = _EmpAttData.Remarks + "[Short Leave]"; db.SaveChanges(); } } }
private void MarkAttendanceEditedData(AttData _atData) { ViewBag.JobCardType = new SelectList(db.JobCards.OrderBy(s=>s.WorkCardName), "WorkCardID", "WorkCardName"); }
public ActionResult PreviousEntry() { try { ViewBag.JobCardType = new SelectList(db.JobCards.OrderBy(s=>s.WorkCardName), "WorkCardID", "WorkCardName"); ViewData["datef"] = Convert.ToDateTime(Session["EditAttendanceDate"]).ToString("yyyy-MM-dd"); int _EmpID = Convert.ToInt32(Session["NEmpNo"]); if (_EmpID != null) { DateTime _AttDataFrom = Convert.ToDateTime(ViewData["datef"].ToString()).AddDays(-1); AttData _attData = new AttData(); _attData = db.AttDatas.First(aa => aa.EmpID == _EmpID && aa.AttDate == _AttDataFrom); if (_attData != null) { Session["EditAttendanceDate"] = Convert.ToDateTime(ViewData["datef"]).AddDays(-1); ViewBag.EmpID = new SelectList(db.Emps.OrderBy(s=>s.EmpName), "EmpID", "EmpNo", _attData.EmpID); ViewBag.SucessMessage = ""; List<PollData> _Polls = new List<PollData>(); string _EmpDate = _attData.EmpID.ToString() + _AttDataFrom.Date.ToString("yyMMdd"); _Polls = db.PollDatas.Where(aa => aa.EmpDate == _EmpDate).OrderBy(a => a.EntTime).ToList(); ViewBag.PollsDataIn = _Polls.Where(aa => aa.RdrDuty == 1); ViewBag.PollsDataOut = _Polls.Where(aa => aa.RdrDuty == 5); if (_attData.WorkMin != null) ViewBag.WorkMin = (TimeSpan.FromMinutes((double)_attData.WorkMin)); if (_attData.LateOut != null) ViewBag.LateOut = TimeSpan.FromMinutes((double)_attData.LateOut); if (_attData.LateIn != null) ViewBag.LateIn = TimeSpan.FromMinutes((double)_attData.LateIn); if (_attData.EarlyOut != null) ViewBag.EarlyOut = TimeSpan.FromMinutes((double)_attData.EarlyOut); if (_attData.EarlyIn != null) ViewBag.EarlyIn = TimeSpan.FromMinutes((double)_attData.EarlyIn); if (_attData.OTMin != null) ViewBag.OT = TimeSpan.FromMinutes((double)_attData.OTMin); if (_attData.StatusGZOT == true) ViewBag.GZOT = TimeSpan.FromMinutes((double)_attData.GZOTMin); return View("EditAttWizardOne", _attData); } else return View("Index"); } else return View("Index"); } catch (Exception ex) { if (ex.Message.Contains("Sequence")) ViewBag.Message = "No Entry found on this particular date"; return View("Index"); } }
public static void CalculateOpenShiftTimes(AttData attendanceRecord, Shift shift) { try { //Calculate WorkMin if (attendanceRecord != null) { if (attendanceRecord.TimeOut != null && attendanceRecord.TimeIn != null) { attendanceRecord.Remarks = ""; TimeSpan mins = (TimeSpan)(attendanceRecord.TimeOut - attendanceRecord.TimeIn); //Check if GZ holiday then place all WorkMin in GZOTMin if (attendanceRecord.StatusGZ == true) { attendanceRecord.GZOTMin = (short)mins.TotalMinutes; attendanceRecord.WorkMin = (short)mins.TotalMinutes; attendanceRecord.StatusGZOT = true; attendanceRecord.Remarks = attendanceRecord.Remarks + "[GZ-OT]"; } else if (attendanceRecord.StatusDO == true) { attendanceRecord.OTMin = (short)mins.TotalMinutes; attendanceRecord.WorkMin = (short)mins.TotalMinutes; attendanceRecord.StatusOT = true; attendanceRecord.Remarks = attendanceRecord.Remarks + "[R-OT]"; // RoundOff Overtime if ((attendanceRecord.Emp.EmpType.CatID == 2 || attendanceRecord.Emp.EmpType.CatID == 4) && attendanceRecord.Emp.CompanyID == 1) { if (attendanceRecord.OTMin > 0) { float OTmins = (float)attendanceRecord.OTMin; float remainder = OTmins / 60; int intpart = (int)remainder; double fracpart = remainder - intpart; if (fracpart < 0.5) { attendanceRecord.OTMin = (short)(intpart * 60); } } } } else { if (shift.HasBreak == true) { attendanceRecord.WorkMin = (short)(mins.TotalMinutes - shift.BreakMin); attendanceRecord.ShifMin = (short)(ProcessSupportFunc.CalculateShiftMinutes(shift, attendanceRecord.AttDate.Value.DayOfWeek) - (short)shift.BreakMin); } else { attendanceRecord.Remarks.Replace("[Absent]", ""); attendanceRecord.StatusAB = false; attendanceRecord.StatusP = true; // CalculateShiftEndTime = ShiftStart + DutyHours //TimeSpan shiftEnd = ProcessSupportFunc.CalculateShiftEndTime(shift, attendanceRecord.AttDate.Value.DayOfWeek); attendanceRecord.WorkMin = (short)(mins.TotalMinutes); //Calculate OverTIme, if ((mins.TotalMinutes > (attendanceRecord.ShifMin + shift.OverTimeMin)) && attendanceRecord.Emp.HasOT == true) { attendanceRecord.OTMin = (Int16)(Convert.ToInt16(mins.TotalMinutes) - attendanceRecord.ShifMin); attendanceRecord.WorkMin = (short)((mins.TotalMinutes) - attendanceRecord.OTMin); attendanceRecord.StatusOT = true; attendanceRecord.Remarks = attendanceRecord.Remarks + "[N-OT]"; } //Calculate Early Out if (mins.TotalMinutes < (attendanceRecord.ShifMin - shift.EarlyOut)) { Int16 EarlyoutMin = (Int16)(attendanceRecord.ShifMin - Convert.ToInt16(mins.TotalMinutes)); if (EarlyoutMin > shift.EarlyOut) { attendanceRecord.EarlyOut = EarlyoutMin; attendanceRecord.StatusEO = true; attendanceRecord.Remarks = attendanceRecord.Remarks + "[EO]"; } else { attendanceRecord.StatusEO = null; attendanceRecord.EarlyOut = null; attendanceRecord.Remarks.Replace("[EO]", ""); } } else { attendanceRecord.StatusEO = null; attendanceRecord.EarlyOut = null; attendanceRecord.Remarks.Replace("[EO]", ""); } // round off work mins if overtime less than shift.OverTimeMin > if (attendanceRecord.WorkMin > attendanceRecord.ShifMin && (attendanceRecord.WorkMin <= (attendanceRecord.ShifMin + shift.OverTimeMin))) { attendanceRecord.WorkMin = attendanceRecord.ShifMin; } // RoundOff Overtime if ((attendanceRecord.Emp.EmpType.CatID == 2 || attendanceRecord.Emp.EmpType.CatID == 4) && attendanceRecord.Emp.CompanyID == 1) { if (attendanceRecord.OTMin > 0) { float OTmins = (float)attendanceRecord.OTMin; float remainder = OTmins / 60; int intpart = (int)remainder; double fracpart = remainder - intpart; if (fracpart < 0.5) { attendanceRecord.OTMin = (short)(intpart * 60); } } } //Mark Absent if less than 4 hours if (attendanceRecord.AttDate.Value.DayOfWeek != DayOfWeek.Friday && attendanceRecord.StatusDO != true && attendanceRecord.StatusGZ != true) { short MinShiftMin = (short)shift.MinHrs; if (attendanceRecord.WorkMin < MinShiftMin) { attendanceRecord.StatusAB = true; attendanceRecord.StatusP = false; attendanceRecord.Remarks = attendanceRecord.Remarks + "[Absent]"; } else { attendanceRecord.StatusAB = false; attendanceRecord.StatusP = true; attendanceRecord.Remarks.Replace("[Absent]", ""); } } } } } } } catch (Exception ex) { } }
private void SaveOldAttData(AttData _OldAttData, int Userid) { try { _ManualEditData.OldDutyCode = _OldAttData.DutyCode; _ManualEditData.OldTimeIn = _OldAttData.TimeIn; _ManualEditData.OldTimeOut = _OldAttData.TimeOut; _ManualEditData.EmpDate = _OldAttData.EmpDate; _ManualEditData.UserID = Userid; _ManualEditData.EditDateTime = DateTime.Now; _ManualEditData.EmpID = _OldAttData.EmpID; _ManualEditData.OldRemarks = _OldAttData.Remarks; } catch (Exception ex) { } }
private void CalculateInEqualToOut(AttData attendanceRecord) { switch (attendanceRecord.DutyCode) { case "G": attendanceRecord.StatusAB = false; attendanceRecord.StatusGZ = true; attendanceRecord.WorkMin = 0; attendanceRecord.EarlyIn = 0; attendanceRecord.EarlyOut = 0; attendanceRecord.LateIn = 0; attendanceRecord.LateOut = 0; attendanceRecord.OTMin = 0; attendanceRecord.GZOTMin = 0; attendanceRecord.StatusGZOT = false; attendanceRecord.TimeIn = null; attendanceRecord.TimeOut = null; attendanceRecord.Remarks = "[GZ][Manual]"; break; case "R": attendanceRecord.StatusAB = false; attendanceRecord.StatusGZ = false; attendanceRecord.WorkMin = 0; attendanceRecord.EarlyIn = 0; attendanceRecord.EarlyOut = 0; attendanceRecord.LateIn = 0; attendanceRecord.LateOut = 0; attendanceRecord.OTMin = 0; attendanceRecord.GZOTMin = 0; attendanceRecord.StatusGZOT = false; attendanceRecord.TimeIn = null; attendanceRecord.TimeOut = null; attendanceRecord.StatusDO = true; attendanceRecord.Remarks = "[DO][Manual]"; break; case "D": attendanceRecord.StatusAB = true; attendanceRecord.StatusGZ = false; attendanceRecord.WorkMin = 0; attendanceRecord.EarlyIn = 0; attendanceRecord.EarlyOut = 0; attendanceRecord.LateIn = 0; attendanceRecord.LateOut = 0; attendanceRecord.OTMin = 0; attendanceRecord.GZOTMin = 0; attendanceRecord.StatusGZOT = false; attendanceRecord.TimeIn = null; attendanceRecord.TimeOut = null; attendanceRecord.StatusDO = false; attendanceRecord.StatusP = false; attendanceRecord.Remarks = "[Absent][Manual]"; break; } }
public static void PlacedSortedInTime(AttData attendanceRecord, List<DateTime> _InTimes) { for (int i = 0; i < _InTimes.Count; i++) { switch (i) { case 0: attendanceRecord.Tin0 = _InTimes[i]; attendanceRecord.TimeIn = _InTimes[i]; break; case 1: attendanceRecord.Tin1 = _InTimes[i]; break; case 2: attendanceRecord.Tin2 = _InTimes[i]; break; case 3: attendanceRecord.Tin3 = _InTimes[i]; break; case 4: attendanceRecord.Tin4 = _InTimes[i]; break; case 5: attendanceRecord.Tin5 = _InTimes[i]; break; case 6: attendanceRecord.Tin6 = _InTimes[i]; break; case 7: attendanceRecord.Tin7 = _InTimes[i]; break; case 8: attendanceRecord.Tin8 = _InTimes[i]; break; case 9: attendanceRecord.Tin9 = _InTimes[i]; break; } } }
public static void MarkOUTForOpenShift(DateTime _pollTime, AttData _attendanceRecord) { if (_attendanceRecord.Tout0 == null) { _attendanceRecord.Tout0 = _pollTime; _attendanceRecord.TimeOut = _pollTime; SortingOutTime(_attendanceRecord); } else if (_attendanceRecord.Tout1 == null) { _attendanceRecord.Tout1 = _pollTime; _attendanceRecord.TimeOut = _pollTime; SortingOutTime(_attendanceRecord); } else if (_attendanceRecord.Tout2 == null) { _attendanceRecord.Tout2 = _pollTime; _attendanceRecord.TimeOut = _pollTime; SortingOutTime(_attendanceRecord); } else if (_attendanceRecord.Tout3 == null) { _attendanceRecord.Tout3 = _pollTime; _attendanceRecord.TimeOut = _pollTime; SortingOutTime(_attendanceRecord); } else { _attendanceRecord.Tout4 = _pollTime; _attendanceRecord.TimeOut = _pollTime; SortingOutTime(_attendanceRecord); } //else if (_attendanceRecord.Tout5 == null) //{ // _attendanceRecord.Tout5 = up.EntTime; // _attendanceRecord.TimeOut = up.EntTime; // SortingOutTime(_attendanceRecord); //} //else if (_attendanceRecord.Tout6 == null) //{ // _attendanceRecord.Tout6 = up.EntTime; // _attendanceRecord.TimeOut = up.EntTime; // SortingOutTime(_attendanceRecord); //} //else if (_attendanceRecord.Tout7 == null) //{ // _attendanceRecord.Tout7 = up.EntTime; // _attendanceRecord.TimeOut = up.EntTime; // SortingOutTime(_attendanceRecord); //} //else if (_attendanceRecord.Tout8 == null) //{ // _attendanceRecord.Tout8 = up.EntTime; // _attendanceRecord.TimeOut = up.EntTime; // SortingOutTime(_attendanceRecord); //} //else if (_attendanceRecord.Tout9 == null) //{ // _attendanceRecord.Tout9 = up.EntTime; // _attendanceRecord.TimeOut = up.EntTime; // SortingOutTime(_attendanceRecord); //} //else if (_attendanceRecord.Tout10 == null) //{ // _attendanceRecord.Tout10 = up.EntTime; // _attendanceRecord.TimeOut = up.EntTime; // SortingOutTime(_attendanceRecord); //} //else //{ // _attendanceRecord.Tout11 = up.EntTime; // _attendanceRecord.TimeOut = up.EntTime; // SortingOutTime(_attendanceRecord); //} }
public static void CalculateTimeINOUTOpenShift(AttData attendanceRecord, PollData up) { try { TAS2013Entities context = new TAS2013Entities(); switch (up.RdrDuty) { case 1: //IN if (attendanceRecord.Tin0 == null) { if (up.EntTime.TimeOfDay < OpenShiftThresholdEnd) { DateTime dt = new DateTime(); dt = up.EntDate.Date.AddDays(-1); var _attData = context.AttDatas.FirstOrDefault(aa => aa.AttDate == dt && aa.EmpID == up.EmpID); if (_attData != null) { if (_attData.TimeIn != null) { if (_attData.TimeIn.Value.TimeOfDay > OpenShiftThresholdStart) { //attdata - 1 . multipleTimeIn = up.EntTime } else { attendanceRecord.Tin0 = up.EntTime; attendanceRecord.TimeIn = up.EntTime; attendanceRecord.StatusAB = false; attendanceRecord.StatusP = true; attendanceRecord.Remarks = null; attendanceRecord.StatusIN = true; } } else { attendanceRecord.Tin0 = up.EntTime; attendanceRecord.TimeIn = up.EntTime; attendanceRecord.StatusAB = false; attendanceRecord.StatusP = true; attendanceRecord.Remarks = null; attendanceRecord.StatusIN = true; } } else { attendanceRecord.Tin0 = up.EntTime; attendanceRecord.TimeIn = up.EntTime; attendanceRecord.StatusAB = false; attendanceRecord.StatusP = true; attendanceRecord.Remarks = null; attendanceRecord.StatusIN = true; } } else { attendanceRecord.Tin0 = up.EntTime; attendanceRecord.TimeIn = up.EntTime; attendanceRecord.StatusAB = false; attendanceRecord.StatusP = true; attendanceRecord.Remarks = null; attendanceRecord.StatusIN = true; } } else if (attendanceRecord.Tin1 == null) { attendanceRecord.Tin1 = up.EntTime; SortingInTime(attendanceRecord); } else if (attendanceRecord.Tin2 == null) { attendanceRecord.Tin2 = up.EntTime; SortingInTime(attendanceRecord); } else if (attendanceRecord.Tin3 == null) { attendanceRecord.Tin3 = up.EntTime; SortingInTime(attendanceRecord); } else if (attendanceRecord.Tin4 == null) { attendanceRecord.Tin4 = up.EntTime; SortingInTime(attendanceRecord); } else if (attendanceRecord.Tin5 == null) { attendanceRecord.Tin5 = up.EntTime; SortingInTime(attendanceRecord); } else if (attendanceRecord.Tin6 == null) { attendanceRecord.Tin6 = up.EntTime; SortingInTime(attendanceRecord); } else if (attendanceRecord.Tin7 == null) { attendanceRecord.Tin7 = up.EntTime; SortingInTime(attendanceRecord); } else if (attendanceRecord.Tin8 == null) { attendanceRecord.Tin8 = up.EntTime; SortingInTime(attendanceRecord); } else if (attendanceRecord.Tin9 == null) { attendanceRecord.Tin9 = up.EntTime; SortingInTime(attendanceRecord); } else if (attendanceRecord.Tin10 == null) { attendanceRecord.Tin10 = up.EntTime; SortingInTime(attendanceRecord); } else { attendanceRecord.Tin11 = up.EntTime; SortingInTime(attendanceRecord); } break; case 5: //OUT if (up.EntTime.TimeOfDay < OpenShiftThresholdEnd) { DateTime dt = up.EntDate.AddDays(-1); if (context.AttDatas.Where(aa => aa.AttDate == dt && aa.EmpID == up.EmpID).Count() > 0) { AttData AttDataOfPreviousDay = context.AttDatas.FirstOrDefault(aa => aa.AttDate == dt && aa.EmpID == up.EmpID); if (AttDataOfPreviousDay.TimeIn != null) { if (AttDataOfPreviousDay.TimeIn.Value.TimeOfDay > OpenShiftThresholdStart) { //AttDate -1, Possible TimeOut = up.entryTime MarkOUTForOpenShift(up.EntTime, AttDataOfPreviousDay); } else { // Mark as out of that day MarkOUTForOpenShift(up.EntTime, attendanceRecord); } } else MarkOUTForOpenShift(up.EntTime, attendanceRecord); } else { // Mark as out of that day MarkOUTForOpenShift(up.EntTime, attendanceRecord); } } else { //Mark as out of that day MarkOUTForOpenShift(up.EntTime, attendanceRecord); } //------------------------------------------------------- context.SaveChanges(); break; } } catch (Exception ex) { } }
public static void CalculateTimeINOUT(AttData attendanceRecord, PollData up) { try { switch (up.RdrDuty) { case 1: //IN if (attendanceRecord.Tin0 == null) { attendanceRecord.Tin0 = up.EntTime; attendanceRecord.TimeIn = up.EntTime; attendanceRecord.StatusAB = false; attendanceRecord.StatusP = true; attendanceRecord.Remarks = null; } else if (attendanceRecord.Tin1 == null) { attendanceRecord.Tin1 = up.EntTime; SortingInTime(attendanceRecord); } else if (attendanceRecord.Tin2 == null) { attendanceRecord.Tin2 = up.EntTime; SortingInTime(attendanceRecord); } else if (attendanceRecord.Tin3 == null) { attendanceRecord.Tin3 = up.EntTime; SortingInTime(attendanceRecord); } else if (attendanceRecord.Tin4 == null) { attendanceRecord.Tin4 = up.EntTime; SortingInTime(attendanceRecord); } else if (attendanceRecord.Tin5 == null) { attendanceRecord.Tin5 = up.EntTime; SortingInTime(attendanceRecord); } else if (attendanceRecord.Tin6 == null) { attendanceRecord.Tin6 = up.EntTime; SortingInTime(attendanceRecord); } else if (attendanceRecord.Tin7 == null) { attendanceRecord.Tin7 = up.EntTime; SortingInTime(attendanceRecord); } else if (attendanceRecord.Tin8 == null) { attendanceRecord.Tin8 = up.EntTime; SortingInTime(attendanceRecord); } else if (attendanceRecord.Tin9 == null) { attendanceRecord.Tin9 = up.EntTime; SortingInTime(attendanceRecord); } else if (attendanceRecord.Tin10 == null) { attendanceRecord.Tin10 = up.EntTime; SortingInTime(attendanceRecord); } else { attendanceRecord.Tin11 = up.EntTime; SortingInTime(attendanceRecord); } break; case 5: //OUT if (attendanceRecord.Tout0 == null) { attendanceRecord.Tout0 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; SortingOutTime(attendanceRecord); } else if (attendanceRecord.Tout1 == null) { attendanceRecord.Tout1 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; SortingOutTime(attendanceRecord); } else if (attendanceRecord.Tout2 == null) { attendanceRecord.Tout2 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; SortingOutTime(attendanceRecord); } else if (attendanceRecord.Tout3 == null) { attendanceRecord.Tout3 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; SortingOutTime(attendanceRecord); } else if (attendanceRecord.Tout4 == null) { attendanceRecord.Tout4 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; SortingOutTime(attendanceRecord); } else if (attendanceRecord.Tout5 == null) { attendanceRecord.Tout5 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; SortingOutTime(attendanceRecord); } else if (attendanceRecord.Tout6 == null) { attendanceRecord.Tout6 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; SortingOutTime(attendanceRecord); } else if (attendanceRecord.Tout7 == null) { attendanceRecord.Tout7 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; SortingOutTime(attendanceRecord); } else if (attendanceRecord.Tout8 == null) { attendanceRecord.Tout8 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; SortingOutTime(attendanceRecord); } else if (attendanceRecord.Tout9 == null) { attendanceRecord.Tout9 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; SortingOutTime(attendanceRecord); } else if (attendanceRecord.Tout10 == null) { attendanceRecord.Tout10 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; SortingOutTime(attendanceRecord); } else { attendanceRecord.Tout11 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; SortingOutTime(attendanceRecord); } break; case 8: //DUTY if (attendanceRecord.Tin0 != null) { if (attendanceRecord.Tout0 == null) { attendanceRecord.Tout0 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; } else if (attendanceRecord.Tin1 == null) { attendanceRecord.Tin1 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; } else if (attendanceRecord.Tout1 == null) { attendanceRecord.Tout1 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; } else if (attendanceRecord.Tin2 == null) { attendanceRecord.Tin2 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; } else if (attendanceRecord.Tout2 == null) { attendanceRecord.Tout2 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; } else if (attendanceRecord.Tin3 == null) { attendanceRecord.Tin3 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; } else if (attendanceRecord.Tout3 == null) { attendanceRecord.Tout3 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; } else if (attendanceRecord.Tin4 == null) { attendanceRecord.Tin4 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; } else if (attendanceRecord.Tout4 == null) { attendanceRecord.Tout4 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; } else if (attendanceRecord.Tin5 == null) { attendanceRecord.Tin5 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; } else if (attendanceRecord.Tout5 == null) { attendanceRecord.Tout5 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; } else if (attendanceRecord.Tin6 == null) { attendanceRecord.Tin6 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; } else if (attendanceRecord.Tout6 == null) { attendanceRecord.Tout6 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; } // else if (attendanceRecord.Tin7 == null) { attendanceRecord.Tin7 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; } else if (attendanceRecord.Tout7 == null) { attendanceRecord.Tout7 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; } else if (attendanceRecord.Tin8 == null) { attendanceRecord.Tin8 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; } else if (attendanceRecord.Tout8 == null) { attendanceRecord.Tout8 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; } else if (attendanceRecord.Tin9 == null) { attendanceRecord.Tin9 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; } else if (attendanceRecord.Tout9 == null) { attendanceRecord.Tout9 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; } else if (attendanceRecord.Tin10 == null) { attendanceRecord.Tin10 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; } else if (attendanceRecord.Tout10 == null) { attendanceRecord.Tout10 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; } else if (attendanceRecord.Tin11 == null) { attendanceRecord.Tin11 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; } else if (attendanceRecord.Tout11 == null) { attendanceRecord.Tout11 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; } else if (attendanceRecord.Tin12 == null) { attendanceRecord.Tin12 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; } else if (attendanceRecord.Tout12 == null) { attendanceRecord.Tout12 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; } else if (attendanceRecord.Tin13 == null) { attendanceRecord.Tin13 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; } else { attendanceRecord.Tout13 = up.EntTime; attendanceRecord.TimeOut = up.EntTime; } } else { attendanceRecord.Tin0 = up.EntTime; attendanceRecord.TimeIn = up.EntTime; attendanceRecord.StatusAB = false; attendanceRecord.StatusP = true; attendanceRecord.Remarks = null; } break; } } catch (Exception ex) { } }
public void AddShortLeaveToAttData(LvShort lvshort) { DateTime datetime = new DateTime(); using (var db = new TAS2013Entities()) { if (db.AttDatas.Where(aa => aa.EmpDate== lvshort.EmpDate).Count() > 0) { AttData _EmpAttData = new AttData(); _EmpAttData = db.AttDatas.First(aa => aa.EmpDate == lvshort.EmpDate); _EmpAttData.StatusAB = false; _EmpAttData.StatusSL = true; _EmpAttData.ShifMin = (short)(_EmpAttData.ShifMin - lvshort.THour.Value.TotalMinutes); if (_EmpAttData.WorkMin !=null) { if (_EmpAttData.WorkMin >0) { if ((_EmpAttData.WorkMin + lvshort.THour.Value.TotalMinutes) >= ProcessSupportFunc.CalculateShiftMinutes(_EmpAttData.Emp.Shift, lvshort.DutyDate.Value.DayOfWeek)) { _EmpAttData.StatusLI = false; _EmpAttData.StatusEO = false; _EmpAttData.Remarks= _EmpAttData.Remarks.Replace("[LI]", ""); _EmpAttData.Remarks = _EmpAttData.Remarks.Replace("[EO]", ""); _EmpAttData.LateIn = 0; _EmpAttData.EarlyOut = 0; } } } _EmpAttData.Remarks = _EmpAttData.Remarks + "[Short Leave]"; db.SaveChanges(); } } }
public static void CalculateShiftTimes(AttData attendanceRecord, Shift shift) { try { //Calculate WorkMin attendanceRecord.Remarks = ""; TimeSpan mins = (TimeSpan)(attendanceRecord.TimeOut - attendanceRecord.TimeIn); //Check if GZ holiday then place all WorkMin in GZOTMin if (attendanceRecord.StatusGZ == true) { attendanceRecord.GZOTMin = (short)mins.TotalMinutes; attendanceRecord.WorkMin = (short)mins.TotalMinutes; attendanceRecord.StatusGZOT = true; attendanceRecord.Remarks = attendanceRecord.Remarks + "[G-OT]"; } //if Rest day then place all WorkMin in OTMin else if (attendanceRecord.StatusDO == true) { if (attendanceRecord.Emp.HasOT != false) { attendanceRecord.OTMin = (short)mins.TotalMinutes; attendanceRecord.WorkMin = (short)mins.TotalMinutes; attendanceRecord.StatusOT = true; attendanceRecord.Remarks = attendanceRecord.Remarks + "[R-OT]"; // RoundOff Overtime if ((attendanceRecord.Emp.EmpType.CatID == 2 || attendanceRecord.Emp.EmpType.CatID == 4) && attendanceRecord.Emp.CompanyID == 1) { if (attendanceRecord.OTMin > 0) { float OTmins = (float)attendanceRecord.OTMin; float remainder = OTmins / 60; int intpart = (int)remainder; double fracpart = remainder - intpart; if (fracpart < 0.5) { attendanceRecord.OTMin = (short)(intpart * 60); } } } } } else { /////////// to-do -----calculate Margins for those shifts which has break mins if (shift.HasBreak == true) { attendanceRecord.WorkMin = (short)(mins.TotalMinutes - shift.BreakMin); attendanceRecord.ShifMin = (short)(ProcessSupportFunc.CalculateShiftMinutes(shift, attendanceRecord.AttDate.Value.DayOfWeek) - (short)shift.BreakMin); } else { attendanceRecord.Remarks.Replace("[Absent]", ""); attendanceRecord.StatusAB = false; attendanceRecord.StatusP = true; //Calculate Late IN, Compare margin with Shift Late In if (attendanceRecord.TimeIn.Value.TimeOfDay > attendanceRecord.DutyTime) { TimeSpan lateMinsSpan = (TimeSpan)(attendanceRecord.TimeIn.Value.TimeOfDay - attendanceRecord.DutyTime); if (lateMinsSpan.TotalMinutes > shift.LateIn) { attendanceRecord.LateIn = (short)lateMinsSpan.TotalMinutes; attendanceRecord.StatusLI = true; attendanceRecord.EarlyIn = null; attendanceRecord.Remarks = attendanceRecord.Remarks + "[LI]"; } else { attendanceRecord.StatusLI = null; attendanceRecord.LateIn = null; attendanceRecord.Remarks.Replace("[LI]", ""); } } else { attendanceRecord.StatusLI = null; attendanceRecord.LateIn = null; attendanceRecord.Remarks.Replace("[LI]", ""); } //Calculate Early In, Compare margin with Shift Early In if (attendanceRecord.TimeIn.Value.TimeOfDay < attendanceRecord.DutyTime) { TimeSpan EarlyInMinsSpan = (TimeSpan)(attendanceRecord.DutyTime - attendanceRecord.TimeIn.Value.TimeOfDay); if (EarlyInMinsSpan.TotalMinutes > shift.EarlyIn) { attendanceRecord.EarlyIn = (short)EarlyInMinsSpan.TotalMinutes; attendanceRecord.StatusEI = true; attendanceRecord.LateIn = null; attendanceRecord.Remarks = attendanceRecord.Remarks + "[EI]"; } else { attendanceRecord.StatusEI = null; attendanceRecord.EarlyIn = null; attendanceRecord.Remarks.Replace("[EI]", ""); } } else { attendanceRecord.StatusEI = null; attendanceRecord.EarlyIn = null; attendanceRecord.Remarks.Replace("[EI]", ""); } // CalculateShiftEndTime = ShiftStart + DutyHours DateTime shiftEnd = ProcessSupportFunc.CalculateShiftEndTimeWithAttData(attendanceRecord.AttDate.Value, attendanceRecord.DutyTime.Value, attendanceRecord.ShifMin); //Calculate Early Out, Compare margin with Shift Early Out if (attendanceRecord.TimeOut < shiftEnd) { TimeSpan EarlyOutMinsSpan = (TimeSpan)(shiftEnd - attendanceRecord.TimeOut); if (EarlyOutMinsSpan.TotalMinutes > shift.EarlyOut) { attendanceRecord.EarlyOut = (short)EarlyOutMinsSpan.TotalMinutes; attendanceRecord.StatusEO = true; attendanceRecord.LateOut = null; attendanceRecord.Remarks = attendanceRecord.Remarks + "[EO]"; } else { attendanceRecord.StatusEO = null; attendanceRecord.EarlyOut = null; attendanceRecord.Remarks.Replace("[EO]", ""); } } else { attendanceRecord.StatusEO = null; attendanceRecord.EarlyOut = null; attendanceRecord.Remarks.Replace("[EO]", ""); } //Calculate Late Out, Compare margin with Shift Late Out if (attendanceRecord.TimeOut > shiftEnd) { TimeSpan LateOutMinsSpan = (TimeSpan)(attendanceRecord.TimeOut - shiftEnd); if (LateOutMinsSpan.TotalMinutes > shift.LateOut) { attendanceRecord.LateOut = (short)LateOutMinsSpan.TotalMinutes; // Late Out cannot have an early out, In case of poll at multiple times before and after shiftend attendanceRecord.EarlyOut = null; attendanceRecord.StatusLO = true; attendanceRecord.Remarks = attendanceRecord.Remarks + "[LO]"; } else { attendanceRecord.StatusLO = null; attendanceRecord.LateOut = null; attendanceRecord.Remarks.Replace("[LO]", ""); } } else { attendanceRecord.StatusLO = null; attendanceRecord.LateOut = null; attendanceRecord.Remarks.Replace("[LO]", ""); } //Subtract EarlyIn and LateOut from Work Minutes //////-------to-do--------- Automate earlyin,lateout from shift setup attendanceRecord.WorkMin = (short)(mins.TotalMinutes); if (attendanceRecord.EarlyIn != null && attendanceRecord.EarlyIn > shift.EarlyIn) { attendanceRecord.WorkMin = (short)(attendanceRecord.WorkMin - attendanceRecord.EarlyIn); } if (attendanceRecord.LateOut != null && attendanceRecord.LateOut > shift.LateOut) { attendanceRecord.WorkMin = (short)(attendanceRecord.WorkMin - attendanceRecord.LateOut); } if (attendanceRecord.LateOut != null || attendanceRecord.EarlyIn != null) // round off work mins if overtime less than shift.OverTimeMin > if (attendanceRecord.WorkMin > attendanceRecord.ShifMin && (attendanceRecord.WorkMin <= (attendanceRecord.ShifMin + shift.OverTimeMin))) { attendanceRecord.WorkMin = attendanceRecord.ShifMin; } //Calculate OverTime = OT, Compare margin with Shift OverTime //----to-do----- Handle from shift //if (attendanceRecord.EarlyIn > shift.EarlyIn || attendanceRecord.LateOut > shift.LateOut) //{ // if (attendanceRecord.StatusGZ != true || attendanceRecord.StatusDO != true) // { // short _EarlyIn; // short _LateOut; // if (attendanceRecord.EarlyIn == null) // _EarlyIn = 0; // else // _EarlyIn = 0; // if (attendanceRecord.LateOut == null) // _LateOut = 0; // else // _LateOut = (short)attendanceRecord.LateOut; // attendanceRecord.OTMin = (short)(_EarlyIn + _LateOut); // attendanceRecord.StatusOT = true; // attendanceRecord.Remarks = attendanceRecord.Remarks + "[N-OT]"; // } //} if ((attendanceRecord.StatusGZ != true || attendanceRecord.StatusDO != true) && attendanceRecord.Emp.HasOT == true) { if (attendanceRecord.LateOut != null) { attendanceRecord.OTMin = attendanceRecord.LateOut; attendanceRecord.StatusOT = true; attendanceRecord.Remarks = attendanceRecord.Remarks + "[N-OT]"; } } // RoundOff Overtime //if ((attendanceRecord.Emp.EmpType.CatID == 2 || attendanceRecord.Emp.EmpType.CatID == 4) && attendanceRecord.Emp.CompanyID == 1) //{ // if (attendanceRecord.OTMin > 0) // { // float OTmins = (float)attendanceRecord.OTMin; // float remainder = OTmins / 60; // int intpart = (int)remainder; // double fracpart = remainder - intpart; // if (fracpart < 0.5) // { // attendanceRecord.OTMin = (short)(intpart * 60); // } // } //} //Mark Absent if less than 4 hours if (attendanceRecord.AttDate.Value.DayOfWeek != DayOfWeek.Friday && attendanceRecord.StatusDO != true && attendanceRecord.StatusGZ != true) { short MinShiftMin = (short)shift.MinHrs; if (attendanceRecord.WorkMin < MinShiftMin) { attendanceRecord.StatusAB = true; attendanceRecord.StatusP = false; attendanceRecord.Remarks = "[Absent]"; } else { attendanceRecord.StatusAB = false; attendanceRecord.StatusP = true; attendanceRecord.Remarks.Replace("[Absent]", ""); } } } } } catch (Exception ex) { } }
public static void CalculateRosterTimes(AttData attendanceRecord, Roster roster, Shift _shift) { try { TimeSpan mins = (TimeSpan)(attendanceRecord.TimeOut - attendanceRecord.TimeIn); attendanceRecord.Remarks = ""; if (attendanceRecord.StatusGZ == true) { attendanceRecord.GZOTMin = (short)mins.TotalMinutes; attendanceRecord.WorkMin = (short)mins.TotalMinutes; attendanceRecord.StatusGZOT = true; attendanceRecord.Remarks = attendanceRecord.Remarks + "[GZ-OT]"; } else if (attendanceRecord.StatusDO == true) { attendanceRecord.OTMin = (short)mins.TotalMinutes; attendanceRecord.WorkMin = (short)mins.TotalMinutes; attendanceRecord.StatusOT = true; attendanceRecord.Remarks = attendanceRecord.Remarks + "[R-OT]"; // RoundOff Overtime if ((attendanceRecord.Emp.EmpType.CatID == 2 || attendanceRecord.Emp.EmpType.CatID == 4) && attendanceRecord.Emp.CompanyID == 1) { if (attendanceRecord.OTMin > 0) { float OTmins = (float)attendanceRecord.OTMin; float remainder = OTmins / 60; int intpart = (int)remainder; double fracpart = remainder - intpart; if (fracpart < 0.5) { attendanceRecord.OTMin = (short)(intpart * 60); } } } } else { attendanceRecord.Remarks.Replace("[Absent]", ""); attendanceRecord.StatusAB = false; attendanceRecord.StatusP = true; ////------to-do ----------handle shift break time //Calculate Late IN, Compare margin with Shift Late In if (attendanceRecord.TimeIn.Value.TimeOfDay > roster.DutyTime) { TimeSpan lateMinsSpan = (TimeSpan)(attendanceRecord.TimeIn.Value.TimeOfDay - attendanceRecord.DutyTime); if (lateMinsSpan.TotalMinutes > _shift.LateIn) { attendanceRecord.LateIn = (short)lateMinsSpan.TotalMinutes; attendanceRecord.StatusLI = true; attendanceRecord.EarlyIn = null; attendanceRecord.Remarks = attendanceRecord.Remarks + "[LI]"; } else { attendanceRecord.LateIn = null; attendanceRecord.StatusLI = null; attendanceRecord.Remarks.Replace("[LI]", ""); } } else { attendanceRecord.LateIn = null; attendanceRecord.StatusLI = null; attendanceRecord.Remarks.Replace("[LI]", ""); } //Calculate Early In, Compare margin with Shift Early In if (attendanceRecord.TimeIn.Value.TimeOfDay < attendanceRecord.DutyTime) { TimeSpan EarlyInMinsSpan = (TimeSpan)(attendanceRecord.DutyTime - attendanceRecord.TimeIn.Value.TimeOfDay); if (EarlyInMinsSpan.TotalMinutes > _shift.EarlyIn) { attendanceRecord.EarlyIn = (short)EarlyInMinsSpan.TotalMinutes; attendanceRecord.StatusEI = true; attendanceRecord.LateIn = null; attendanceRecord.Remarks = attendanceRecord.Remarks + "[EI]"; } else { attendanceRecord.StatusEI = null; attendanceRecord.EarlyIn = null; attendanceRecord.Remarks.Replace("[EI]", ""); } } else { attendanceRecord.StatusEI = null; attendanceRecord.EarlyIn = null; attendanceRecord.Remarks.Replace("[EI]", ""); } // CalculateShiftEndTime = ShiftStart + DutyHours TimeSpan shiftEnd = (TimeSpan)attendanceRecord.DutyTime + (new TimeSpan(0, (int)roster.WorkMin, 0)); //Calculate Early Out, Compare margin with Shift Early Out if (attendanceRecord.TimeOut.Value.TimeOfDay < shiftEnd) { TimeSpan EarlyOutMinsSpan = (TimeSpan)(shiftEnd - attendanceRecord.TimeOut.Value.TimeOfDay); if (EarlyOutMinsSpan.TotalMinutes > _shift.EarlyOut) { attendanceRecord.EarlyOut = (short)EarlyOutMinsSpan.TotalMinutes; attendanceRecord.StatusEO = true; attendanceRecord.LateOut = null; attendanceRecord.Remarks = attendanceRecord.Remarks + "[EO]"; } else { attendanceRecord.StatusEO = null; attendanceRecord.EarlyOut = null; attendanceRecord.Remarks.Replace("[EO]", ""); } } else { attendanceRecord.StatusEO = null; attendanceRecord.EarlyOut = null; attendanceRecord.Remarks.Replace("[EO]", ""); } //Calculate Late Out, Compare margin with Shift Late Out if (attendanceRecord.TimeOut.Value.TimeOfDay > shiftEnd) { TimeSpan LateOutMinsSpan = (TimeSpan)(attendanceRecord.TimeOut.Value.TimeOfDay - shiftEnd); if (LateOutMinsSpan.TotalMinutes > _shift.LateOut) { attendanceRecord.LateOut = (short)LateOutMinsSpan.TotalMinutes; // Late Out cannot have an early out, In case of poll at multiple times before and after shiftend attendanceRecord.EarlyOut = null; attendanceRecord.StatusLO = true; attendanceRecord.Remarks = attendanceRecord.Remarks + "[LO]"; } else { attendanceRecord.LateOut = null; attendanceRecord.LateOut = null; attendanceRecord.Remarks.Replace("[LO]", ""); } } else { attendanceRecord.LateOut = null; attendanceRecord.LateOut = null; attendanceRecord.Remarks.Replace("[LO]", ""); } attendanceRecord.WorkMin = (short)(mins.TotalMinutes); if (attendanceRecord.EarlyIn != null && attendanceRecord.EarlyIn > _shift.EarlyIn) { attendanceRecord.WorkMin = (short)(attendanceRecord.WorkMin - attendanceRecord.EarlyIn); } if (attendanceRecord.LateOut != null && attendanceRecord.LateOut > _shift.LateOut) { attendanceRecord.WorkMin = (short)(attendanceRecord.WorkMin - attendanceRecord.LateOut); } if (attendanceRecord.EarlyIn == null && attendanceRecord.LateOut == null) { } //round off work minutes if (attendanceRecord.WorkMin > attendanceRecord.ShifMin && (attendanceRecord.WorkMin <= (attendanceRecord.ShifMin + _shift.OverTimeMin))) { attendanceRecord.WorkMin = attendanceRecord.ShifMin; } // RoundOff Overtime if ((attendanceRecord.Emp.EmpType.CatID == 2 || attendanceRecord.Emp.EmpType.CatID == 4) && attendanceRecord.Emp.CompanyID == 1) { if (attendanceRecord.OTMin > 0) { float OTmins = (float)attendanceRecord.OTMin; float remainder = OTmins / 60; int intpart = (int)remainder; double fracpart = remainder - intpart; if (fracpart < 0.5) { attendanceRecord.OTMin = (short)(intpart * 60); } } } ////Calculate OverTime, Compare margin with Shift OverTime //if (attendanceRecord.EarlyIn > _shift.EarlyIn || attendanceRecord.LateOut > _shift.LateOut) //{ // if (attendanceRecord.StatusGZ != true || attendanceRecord.StatusDO != true) // { // short _EarlyIn; // short _LateOut; // if (attendanceRecord.EarlyIn == null) // _EarlyIn = 0; // else // _EarlyIn = 0; // if (attendanceRecord.LateOut == null) // _LateOut = 0; // else // _LateOut = (short)attendanceRecord.LateOut; // attendanceRecord.OTMin = (short)(_EarlyIn + _LateOut); // attendanceRecord.StatusOT = true; // } //} if ((attendanceRecord.StatusGZ != true || attendanceRecord.StatusDO != true) && attendanceRecord.Emp.HasOT == true) { if (attendanceRecord.LateOut != null) { attendanceRecord.OTMin = attendanceRecord.LateOut; attendanceRecord.StatusOT = true; attendanceRecord.Remarks = attendanceRecord.Remarks + "[N-OT]"; } } //Mark Absent if less than 4 hours if (attendanceRecord.AttDate.Value.DayOfWeek != DayOfWeek.Friday && attendanceRecord.StatusDO != true && attendanceRecord.StatusGZ != true) { short MinShiftMin = (short)_shift.MinHrs; if (attendanceRecord.WorkMin < MinShiftMin) { attendanceRecord.StatusAB = true; attendanceRecord.StatusP = false; attendanceRecord.Remarks = attendanceRecord.Remarks + "[Absent]"; } else { attendanceRecord.StatusAB = false; attendanceRecord.StatusP = true; attendanceRecord.Remarks.Replace("[Absent]", ""); } } } } catch (Exception ex) { } }
public bool AddLeaveToLeaveAttData(LvApplication lvappl) { try { DateTime datetime = new DateTime(); datetime = lvappl.FromDate; for (int i = 0; i < lvappl.NoOfDays; i++) { string _EmpDate = lvappl.EmpID + datetime.Date.ToString("yyMMdd"); using (var context = new TAS2013Entities()) { if (context.AttProcesses.Where(aa => aa.ProcessDate == datetime).Count() > 0) { AttData _EmpAttData = new AttData(); _EmpAttData = context.AttDatas.First(aa => aa.EmpDate == _EmpDate); _EmpAttData.TimeIn = null; _EmpAttData.TimeOut = null; _EmpAttData.WorkMin = null; _EmpAttData.LateIn = null; _EmpAttData.LateOut = null; _EmpAttData.EarlyIn = null; _EmpAttData.EarlyOut = null; _EmpAttData.StatusAB= false; _EmpAttData.StatusLeave = true; _EmpAttData.StatusEI = null; _EmpAttData.StatusEO = null; _EmpAttData.StatusLI = null; _EmpAttData.StatusLI= null; _EmpAttData.StatusLO = null; _EmpAttData.StatusDO = null; _EmpAttData.StatusGZ = null; _EmpAttData.StatusGZOT = null; _EmpAttData.StatusMN = null; _EmpAttData.StatusOD = null; if (lvappl.LvType == "A")//Casual Leave _EmpAttData.Remarks = "[CL]"; if (lvappl.LvType == "B")//Anual Leave _EmpAttData.Remarks = "[AL]"; if (lvappl.LvType == "C")//Sick Leave _EmpAttData.Remarks = "[SL]"; _EmpAttData.StatusAB = false; _EmpAttData.StatusLeave = true; context.SaveChanges(); } } datetime = datetime.AddDays(1); } } catch (Exception ex) { return false; } return true; }
public static void PlacedSortedOutTime(AttData attendanceRecord, List<DateTime> _OutTimes) { for (int i = 0; i < _OutTimes.Count; i++) { switch (i) { case 0: attendanceRecord.Tout0 = _OutTimes[i]; attendanceRecord.TimeOut = _OutTimes[i]; break; case 1: attendanceRecord.Tout1 = _OutTimes[i]; attendanceRecord.TimeOut = _OutTimes[i]; break; case 2: attendanceRecord.Tout2 = _OutTimes[i]; attendanceRecord.TimeOut = _OutTimes[i]; break; case 3: attendanceRecord.Tout3 = _OutTimes[i]; attendanceRecord.TimeOut = _OutTimes[i]; break; case 4: attendanceRecord.Tout4 = _OutTimes[i]; attendanceRecord.TimeOut = _OutTimes[i]; break; case 5: attendanceRecord.Tout5 = _OutTimes[i]; attendanceRecord.TimeOut = _OutTimes[i]; break; case 6: attendanceRecord.Tout6 = _OutTimes[i]; attendanceRecord.TimeOut = _OutTimes[i]; break; case 7: attendanceRecord.Tout7 = _OutTimes[i]; attendanceRecord.TimeOut = _OutTimes[i]; break; case 8: attendanceRecord.Tout8 = _OutTimes[i]; attendanceRecord.TimeOut = _OutTimes[i]; break; case 9: attendanceRecord.Tout9 = _OutTimes[i]; attendanceRecord.TimeOut = _OutTimes[i]; break; } } }
private void CalculateOpenShiftTimes(AttData attendanceRecord, Shift shift) { try { //Calculate WorkMin if (attendanceRecord != null) { if (attendanceRecord.TimeOut != null && attendanceRecord.TimeIn != null) { attendanceRecord.Remarks = ""; TimeSpan mins = (TimeSpan)(attendanceRecord.TimeOut - attendanceRecord.TimeIn); //Check if GZ holiday then place all WorkMin in GZOTMin if (attendanceRecord.StatusGZ == true) { attendanceRecord.GZOTMin = (short)mins.TotalMinutes; attendanceRecord.WorkMin = (short)mins.TotalMinutes; attendanceRecord.StatusGZOT = true; attendanceRecord.Remarks = attendanceRecord.Remarks + "[GZ-OT]"; } else if (attendanceRecord.StatusDO == true) { attendanceRecord.OTMin = (short)mins.TotalMinutes; attendanceRecord.WorkMin = (short)mins.TotalMinutes; attendanceRecord.StatusOT = true; attendanceRecord.Remarks = attendanceRecord.Remarks + "[R-OT]"; } else { if (shift.HasBreak == true) { attendanceRecord.WorkMin = (short)(mins.TotalMinutes - shift.BreakMin); attendanceRecord.ShifMin = (short)(CalculateShiftMinutes(shift, attendanceRecord.AttDate.Value.DayOfWeek) - (short)shift.BreakMin); } else { // CalculateShiftEndTime = ShiftStart + DutyHours TimeSpan shiftEnd = CalculateShiftEndTime(shift,(short)attendanceRecord.ShifMin); attendanceRecord.WorkMin = (short)(mins.TotalMinutes); //Calculate OverTIme, if (mins.TotalMinutes > (CalculateShiftMinutes(shift, attendanceRecord.AttDate.Value.DayOfWeek) + shift.OverTimeMin)) { attendanceRecord.OTMin = (Int16)(Convert.ToInt16(mins.TotalMinutes) - CalculateShiftMinutes(shift, attendanceRecord.AttDate.Value.DayOfWeek)); attendanceRecord.WorkMin = (short)((mins.TotalMinutes) - attendanceRecord.OTMin); attendanceRecord.StatusOT = true; attendanceRecord.Remarks = attendanceRecord.Remarks + "[N-OT]"; } //Calculate Early Out if (mins.TotalMinutes < (CalculateShiftMinutes(shift, attendanceRecord.AttDate.Value.DayOfWeek) - shift.EarlyOut)) { Int16 EarlyoutMin = (Int16)(CalculateShiftMinutes(shift, attendanceRecord.AttDate.Value.DayOfWeek)-Convert.ToInt16(mins.TotalMinutes) ); if (EarlyoutMin > shift.EarlyOut) { attendanceRecord.EarlyOut = EarlyoutMin; attendanceRecord.StatusEO = true; attendanceRecord.Remarks = attendanceRecord.Remarks + "[EO]"; } } // round off work mins if overtime less than shift.OverTimeMin > if (attendanceRecord.WorkMin > CalculateShiftMinutes(shift, attendanceRecord.AttDate.Value.DayOfWeek) && (attendanceRecord.WorkMin <= (CalculateShiftMinutes(shift, attendanceRecord.AttDate.Value.DayOfWeek) + shift.OverTimeMin))) { attendanceRecord.WorkMin = CalculateShiftMinutes(shift, attendanceRecord.AttDate.Value.DayOfWeek); } //Mark Absent if less than 4 hours if (attendanceRecord.AttDate.Value.DayOfWeek != DayOfWeek.Friday) { if (attendanceRecord.DutyCode == "D") { short MinShiftMin = (short)shift.MinHrs; if (attendanceRecord.WorkMin < MinShiftMin) { attendanceRecord.StatusAB = true; attendanceRecord.StatusP = false; attendanceRecord.Remarks = attendanceRecord.Remarks + "[Absent]"; attendanceRecord.Remarks.Replace("[LI]", ""); attendanceRecord.Remarks.Replace("[EI]", ""); attendanceRecord.Remarks.Replace("[EO]", ""); attendanceRecord.Remarks.Replace("[LO]", ""); } else { attendanceRecord.StatusAB = false; attendanceRecord.StatusP = true; attendanceRecord.Remarks.Replace("[Absent]", ""); } } } } } } } } catch (Exception ex) { } }
// Sorting Time In public static void SortingInTime(AttData attendanceRecord) { List<DateTime> _InTimes = new List<DateTime>(); if (attendanceRecord.Tin0 != null) _InTimes.Add((DateTime)attendanceRecord.Tin0); if (attendanceRecord.Tin1 != null) _InTimes.Add((DateTime)attendanceRecord.Tin1); if (attendanceRecord.Tin2 != null) _InTimes.Add((DateTime)attendanceRecord.Tin2); if (attendanceRecord.Tin3 != null) _InTimes.Add((DateTime)attendanceRecord.Tin3); if (attendanceRecord.Tin4 != null) _InTimes.Add((DateTime)attendanceRecord.Tin4); if (attendanceRecord.Tin5 != null) _InTimes.Add((DateTime)attendanceRecord.Tin5); if (attendanceRecord.Tin6 != null) _InTimes.Add((DateTime)attendanceRecord.Tin6); if (attendanceRecord.Tin7 != null) _InTimes.Add((DateTime)attendanceRecord.Tin7); if (attendanceRecord.Tin8 != null) _InTimes.Add((DateTime)attendanceRecord.Tin8); if (attendanceRecord.Tin9 != null) _InTimes.Add((DateTime)attendanceRecord.Tin9); if (attendanceRecord.Tin10 != null) _InTimes.Add((DateTime)attendanceRecord.Tin10); var list = _InTimes.OrderBy(x => x.TimeOfDay.Hours).ToList(); PlacedSortedInTime(attendanceRecord, list); }
private void CalculateShiftTimes(AttData attendanceRecord, Shift shift) { try { //Calculate WorkMin attendanceRecord.Remarks.Replace("[LI]", ""); attendanceRecord.Remarks.Replace("[EI]", ""); attendanceRecord.Remarks.Replace("[EO]", ""); attendanceRecord.Remarks.Replace("[LO]", ""); attendanceRecord.Remarks.Replace("[G-OT]", ""); attendanceRecord.Remarks.Replace("[R-OT]", ""); attendanceRecord.Remarks.Replace("[N-OT]", ""); attendanceRecord.Remarks.Replace("[Manual]", ""); attendanceRecord.Remarks = attendanceRecord.Remarks + "[Manual]"; //attendanceRecord.Remarks = ""; TimeSpan mins = (TimeSpan)(attendanceRecord.TimeOut - attendanceRecord.TimeIn); //Check if GZ holiday then place all WorkMin in GZOTMin if (attendanceRecord.StatusGZ == true) { attendanceRecord.GZOTMin = (short)mins.TotalMinutes; attendanceRecord.WorkMin = (short)mins.TotalMinutes; attendanceRecord.StatusGZOT = true; attendanceRecord.Remarks = attendanceRecord.Remarks + "[G-OT]"; } //if Rest day then place all WorkMin in OTMin else if (attendanceRecord.StatusDO == true) { attendanceRecord.OTMin = (short)mins.TotalMinutes; attendanceRecord.WorkMin = (short)mins.TotalMinutes; attendanceRecord.StatusOT = true; attendanceRecord.Remarks = attendanceRecord.Remarks + "[R-OT]"; } else { /////////// to-do -----calculate Margins for those shifts which has break mins if (shift.HasBreak == true) { attendanceRecord.WorkMin = (short)(mins.TotalMinutes - shift.BreakMin); attendanceRecord.ShifMin = (short)(CalculateShiftMinutes(shift, attendanceRecord.AttDate.Value.DayOfWeek) - (short)shift.BreakMin); } else { //Calculate Late IN, Compare margin with Shift Late In int _lateMin = (int)shift.LateIn; if (attendanceRecord.TimeIn.Value.TimeOfDay > (attendanceRecord.DutyTime + new TimeSpan(0, _lateMin, 0))) { TimeSpan lateMinsSpan = (TimeSpan)(attendanceRecord.TimeIn.Value.TimeOfDay - attendanceRecord.DutyTime); if (lateMinsSpan.TotalMinutes > shift.LateIn) { attendanceRecord.LateIn = (short)lateMinsSpan.TotalMinutes; attendanceRecord.StatusLI = true; attendanceRecord.EarlyIn = null; attendanceRecord.Remarks = attendanceRecord.Remarks + "[LI]"; } else { attendanceRecord.StatusLI = null; attendanceRecord.LateIn = null; attendanceRecord.Remarks.Replace("[LI]", ""); } } else { attendanceRecord.StatusLI = null; attendanceRecord.LateIn = null; attendanceRecord.Remarks.Replace("[LI]", ""); } //Calculate Early In, Compare margin with Shift Early In if (attendanceRecord.TimeIn.Value.TimeOfDay < attendanceRecord.DutyTime) { TimeSpan EarlyInMinsSpan = (TimeSpan)(attendanceRecord.DutyTime - attendanceRecord.TimeIn.Value.TimeOfDay); if (EarlyInMinsSpan.TotalMinutes > shift.EarlyIn) { attendanceRecord.EarlyIn = (short)EarlyInMinsSpan.TotalMinutes; attendanceRecord.StatusEI = true; attendanceRecord.LateIn = null; attendanceRecord.Remarks = attendanceRecord.Remarks + "[EI]"; } else { attendanceRecord.StatusEI = null; attendanceRecord.EarlyIn = null; attendanceRecord.Remarks.Replace("[EI]", ""); } } else { attendanceRecord.StatusEI = null; attendanceRecord.EarlyIn = null; attendanceRecord.Remarks.Replace("[EI]", ""); } // CalculateShiftEndTime = ShiftStart + DutyHours DateTime shiftEnd = CalculateShiftEndTime(shift, attendanceRecord.AttDate.Value, attendanceRecord.DutyTime.Value,(short)attendanceRecord.ShifMin); //Calculate Early Out, Compare margin with Shift Early Out if (attendanceRecord.TimeOut < shiftEnd) { TimeSpan EarlyOutMinsSpan = (TimeSpan)(shiftEnd - attendanceRecord.TimeOut); if (EarlyOutMinsSpan.TotalMinutes > shift.EarlyOut) { attendanceRecord.EarlyOut = (short)EarlyOutMinsSpan.TotalMinutes; attendanceRecord.StatusEO = true; attendanceRecord.LateOut = null; attendanceRecord.Remarks = attendanceRecord.Remarks + "[EO]"; } else { attendanceRecord.StatusEO = null; attendanceRecord.EarlyOut = null; attendanceRecord.Remarks.Replace("[EO]", ""); } } else { attendanceRecord.StatusEO = null; attendanceRecord.EarlyOut = null; attendanceRecord.Remarks.Replace("[EO]", ""); } //Calculate Late Out, Compare margin with Shift Late Out if (attendanceRecord.TimeOut.Value > shiftEnd) { TimeSpan LateOutMinsSpan = (TimeSpan)(attendanceRecord.TimeOut.Value - shiftEnd); if (LateOutMinsSpan.TotalMinutes > shift.LateOut) { attendanceRecord.LateOut = (short)LateOutMinsSpan.TotalMinutes; // Late Out cannot have an early out, In case of poll at multiple times before and after shiftend attendanceRecord.EarlyOut = null; attendanceRecord.StatusLO = true; attendanceRecord.Remarks = attendanceRecord.Remarks + "[LO]"; } else { attendanceRecord.StatusLO = null; attendanceRecord.LateOut = null; attendanceRecord.OTMin = null; attendanceRecord.StatusOT = null; attendanceRecord.Remarks.Replace("[OT]", ""); attendanceRecord.Remarks.Replace("[N-OT]", ""); attendanceRecord.Remarks.Replace("[LO]", ""); } } else { attendanceRecord.StatusLO = null; attendanceRecord.LateOut = null; attendanceRecord.OTMin = null; attendanceRecord.StatusOT = null; attendanceRecord.Remarks.Replace("[OT]", ""); attendanceRecord.Remarks.Replace("[N-OT]", ""); attendanceRecord.Remarks.Replace("[LO]", ""); } //Subtract EarlyIn and LateOut from Work Minutes //////-------to-do--------- Automate earlyin,lateout from shift setup attendanceRecord.WorkMin = (short)(mins.TotalMinutes); if (attendanceRecord.EarlyIn != null && attendanceRecord.EarlyIn > shift.EarlyIn) { attendanceRecord.WorkMin = (short)(attendanceRecord.WorkMin - attendanceRecord.EarlyIn); } if (attendanceRecord.LateOut != null && attendanceRecord.LateOut > shift.LateOut) { attendanceRecord.WorkMin = (short)(attendanceRecord.WorkMin - attendanceRecord.LateOut); } if (attendanceRecord.LateOut != null || attendanceRecord.EarlyIn != null) // round off work mins if overtime less than shift.OverTimeMin > if (attendanceRecord.WorkMin > CalculateShiftMinutes(shift, attendanceRecord.AttDate.Value.DayOfWeek) && (attendanceRecord.WorkMin <= (CalculateShiftMinutes(shift, attendanceRecord.AttDate.Value.DayOfWeek) + shift.OverTimeMin))) { attendanceRecord.WorkMin = CalculateShiftMinutes(shift, attendanceRecord.AttDate.Value.DayOfWeek); } //Calculate OverTime = EI+OT, Compare margin with Shift OverTime //----to-do----- Handle from shift if (attendanceRecord.LateOut >0) { if (attendanceRecord.StatusGZ != true || attendanceRecord.StatusDO != true) { short _EarlyIn; short _LateOut; if (attendanceRecord.EarlyIn == null) _EarlyIn = 0; else _EarlyIn = 0; if (attendanceRecord.LateOut == null) _LateOut = 0; else _LateOut = (short)attendanceRecord.LateOut; attendanceRecord.OTMin = (short)(_EarlyIn + _LateOut); attendanceRecord.StatusOT = true; attendanceRecord.Remarks = attendanceRecord.Remarks + "[N-OT]"; } else { attendanceRecord.OTMin = null; attendanceRecord.StatusOT = null; attendanceRecord.Remarks.Replace("[OT]", ""); attendanceRecord.Remarks.Replace("[N-OT]", ""); } } //Mark Absent if less than 4 hours if (attendanceRecord.AttDate.Value.DayOfWeek != DayOfWeek.Friday) { if (attendanceRecord.DutyCode == "D") { short MinShiftMin = (short)shift.MinHrs; if (attendanceRecord.WorkMin < MinShiftMin) { attendanceRecord.StatusAB = true; attendanceRecord.StatusP = false; attendanceRecord.Remarks = attendanceRecord.Remarks + "[Absent]"; attendanceRecord.Remarks.Replace("[LI]", ""); attendanceRecord.Remarks.Replace("[EI]", ""); attendanceRecord.Remarks.Replace("[EO]", ""); attendanceRecord.Remarks.Replace("[LO]", ""); } else { attendanceRecord.StatusAB = false; attendanceRecord.StatusP = true; attendanceRecord.Remarks.Replace("[Absent]", ""); } } } } } } catch (Exception ex) { } }
//Sorting Time Out public static void SortingOutTime(AttData attendanceRecord) { List<DateTime> _OutTimes = new List<DateTime>(); if (attendanceRecord.Tout0 != null) _OutTimes.Add((DateTime)attendanceRecord.Tout0); if (attendanceRecord.Tout1 != null) _OutTimes.Add((DateTime)attendanceRecord.Tout1); if (attendanceRecord.Tout2 != null) _OutTimes.Add((DateTime)attendanceRecord.Tout2); if (attendanceRecord.Tout3 != null) _OutTimes.Add((DateTime)attendanceRecord.Tout3); if (attendanceRecord.Tout4 != null) _OutTimes.Add((DateTime)attendanceRecord.Tout4); if (attendanceRecord.Tout5 != null) _OutTimes.Add((DateTime)attendanceRecord.Tout5); if (attendanceRecord.Tout6 != null) _OutTimes.Add((DateTime)attendanceRecord.Tout6); if (attendanceRecord.Tout7 != null) _OutTimes.Add((DateTime)attendanceRecord.Tout7); if (attendanceRecord.Tout8 != null) _OutTimes.Add((DateTime)attendanceRecord.Tout8); if (attendanceRecord.Tout9 != null) _OutTimes.Add((DateTime)attendanceRecord.Tout9); if (attendanceRecord.Tout10 != null) _OutTimes.Add((DateTime)attendanceRecord.Tout10); var list = _OutTimes.OrderBy(x => x.TimeOfDay.Hours).ToList(); PlacedSortedOutTime(attendanceRecord, list); }
public ActionResult EditAttWizardOne(FormCollection form) { try { User LoggedInUser = Session["LoggedUser"] as User; ViewBag.JobCardType = new SelectList(db.JobCards.OrderBy(s=>s.WorkCardName), "WorkCardID", "WorkCardName"); ViewBag.ShiftList = new SelectList(db.Shifts.OrderBy(s=>s.ShiftName), "ShiftID", "ShiftName"); ViewBag.CrewList = new SelectList(db.Crews.OrderBy(s=>s.CrewName), "CrewID", "CrewName"); ViewBag.CompanyID = new SelectList(db.Companies.OrderBy(s => s.CompName), "CompID", "CompName",LoggedInUser.CompanyID); ViewBag.CompanyIDJobCard = new SelectList(db.Companies, "CompID", "CompName"); ViewBag.SectionList = new SelectList(db.Sections.OrderBy(s=>s.SectionName), "SectionID", "SectionName"); ViewData["datef"] = Convert.ToDateTime(Request.Form["DateFrom"].ToString()).ToString("yyyy-MM-dd"); ViewBag.DesignationID = new SelectList(db.Designations.OrderBy(s=>s.DesignationName), "DesignationID", "DesignationName"); //ViewData["datef"] = Request.Form["DateFrom"].ToString(); if (Request.Form["EmpNo"].ToString() != "" && Request.Form["DateFrom"].ToString() != "") { string _EmpNo = Request.Form["EmpNo"].ToString(); DateTime _AttDataFrom = Convert.ToDateTime(Request.Form["DateFrom"].ToString()); Session["EditAttendanceDate"] = Request.Form["DateFrom"].ToString(); var _CompId = Request.Form["CompanyID"]; int compID = Convert.ToInt32(_CompId); AttData _attData = new AttData(); List<Emp> _Emp = new List<Emp>(); int EmpID = 0; _Emp = db.Emps.Where(aa => aa.EmpNo == _EmpNo && aa.CompanyID ==compID && aa.Status==true).ToList(); if (_Emp.Count > 0) EmpID = _Emp.FirstOrDefault().EmpID; _attData = db.AttDatas.FirstOrDefault(aa => aa.EmpID == EmpID && aa.AttDate == _AttDataFrom); if (_attData != null) { List<PollData> _Polls = new List<PollData>(); string _EmpDate = _attData.EmpID.ToString() + _AttDataFrom.Date.ToString("yyMMdd"); _Polls = db.PollDatas.Where(aa => aa.EmpDate == _EmpDate).OrderBy(a => a.EntTime).ToList(); ViewBag.PollsDataIn = _Polls.Where(aa => aa.RdrDuty == 1); ViewBag.PollsDataOut = _Polls.Where(aa => aa.RdrDuty == 5); ViewBag.EmpID = new SelectList(db.Emps.OrderBy(s=>s.EmpName), "EmpID", "EmpNo", _attData.EmpID); Session["NEmpNo"] = _attData.EmpID; ViewBag.SucessMessage = ""; if (_attData.WorkMin != null) ViewBag.WorkMin = (TimeSpan.FromMinutes((double)_attData.WorkMin)); if (_attData.LateOut != null) ViewBag.LateOut = TimeSpan.FromMinutes((double)_attData.LateOut); if (_attData.LateIn != null) ViewBag.LateIn = TimeSpan.FromMinutes((double)_attData.LateIn); if (_attData.EarlyOut != null) ViewBag.EarlyOut = TimeSpan.FromMinutes((double)_attData.EarlyOut); if (_attData.EarlyIn != null) ViewBag.EarlyIn = TimeSpan.FromMinutes((double)_attData.EarlyIn); if (_attData.OTMin != null) ViewBag.OT = TimeSpan.FromMinutes((double)_attData.OTMin); if (_attData.GZOTMin != null) ViewBag.GZOT = TimeSpan.FromMinutes((double)_attData.GZOTMin); return View(_attData); } else return View("Index"); } else return View("Index"); } catch (Exception ex) { if (ex.Message.Contains("Sequence")) ViewBag.Message = "No Entry found on this particular date"; return View("Index"); } }
public ActionResult EditAttWizardOne(FormCollection form) { try { ViewBag.JobCardType = new SelectList(db.JobCards, "WorkCardID", "WorkCardName"); if (Request.Form["EmpNo"].ToString() != "" && Request.Form["DateFrom"].ToString() != "") { string _EmpNo = Request.Form["EmpNo"].ToString(); DateTime _AttDataFrom = Convert.ToDateTime(Request.Form["DateFrom"].ToString()); AttData _attData = new AttData(); _attData = db.AttDatas.First(aa => aa.EmpNo == _EmpNo && aa.AttDate == _AttDataFrom); if (_attData != null) { ViewBag.EmpID = new SelectList(db.Emps, "EmpID", "EmpNo", _attData.EmpID); return View(_attData); } else return View("Index"); } else return View("Index"); } catch (Exception ex) { if(ex.Message.Contains("Sequence")) ViewBag.Message = "No Entry found on this particular date"; return View("Index"); } }