public ActionResult SaveEditEntriesDateWise(AttEditSingleEmployee Model) { try { int _UserID = Convert.ToInt32(Session["LoggedUserID"].ToString()); int count = Convert.ToInt32(Request.Form["Count"].ToString()); DateTime dt = Convert.ToDateTime(Request.Form["Date"].ToString()); string Criteria = Request.Form["Criteria"].ToString(); int CriteriaData = Convert.ToInt32(Request.Form["CriteriaData"].ToString()); List <Att_DailyAttendance> oldAttendance = new List <Att_DailyAttendance>(); oldAttendance = db.Att_DailyAttendance.Where(aa => aa.AttDate == dt).ToList(); string Message = ""; for (int i = 0; i < count; i++) { int EmpID = Convert.ToInt32(Request.Form["Row" + i.ToString()].ToString()); string empDate = Request.Form["EmpDate" + i.ToString()].ToString(); Att_DailyAttendance att = oldAttendance.First(aa => aa.EmpDate == empDate); string DutyCode = Request.Form["DutyCode" + i.ToString()].ToString(); string DutyTime = Request.Form["DutyTime" + i.ToString()].ToString(); string ShiftTime = Request.Form["ShiftTime" + i.ToString()].ToString(); //string TimeIn = Request.Form["TimeIn" + i.ToString()].ToString(); //string TimeOut = Request.Form["TimeOut" + i.ToString()].ToString(); string TIn1 = Request.Form["TimeIn1" + i.ToString()].ToString(); string TOut1 = Request.Form["TimeOut1" + i.ToString()].ToString(); string TIn2 = Request.Form["TimeIn2" + i.ToString()].ToString(); string TOut2 = Request.Form["TimeOut2" + i.ToString()].ToString(); string TIn3 = Request.Form["TimeIn3" + i.ToString()].ToString(); string TOut3 = Request.Form["TimeOut3" + i.ToString()].ToString(); string Remarks = Request.Form["Remarks" + i.ToString()].ToString(); EditAttendanceList editlist = EditAttManager.GetEditAttendanceList(empDate, DutyCode, DutyTime, ShiftTime, TIn1, TOut1, TIn2, TOut2, TIn3, TOut3, Remarks); if (EditAttManager.CheckRecordIsEdited(att, editlist)) { DateTime _NewTimeIn = new DateTime(); DateTime _NewTimeOut = new DateTime(); DateTime?_NewTimeIn1; DateTime?_NewTimeOut1; DateTime?_NewTimeIn2; DateTime?_NewTimeOut2; DateTime?_NewTimeIn3; DateTime?_NewTimeOut3; _NewTimeIn = (DateTime)(att.AttDate + editlist.TimeIn); if (editlist.TimeIn != null && editlist.TimeOut != null) { if (editlist.TimeIn1 != null) { _NewTimeIn1 = (DateTime)(att.AttDate + editlist.TimeIn1); } else { _NewTimeIn1 = null; } if (editlist.TimeIn2 != null) { _NewTimeIn2 = (DateTime)(att.AttDate + editlist.TimeIn2); } else { _NewTimeIn2 = null; } if (editlist.TimeIn3 != null) { _NewTimeIn3 = (DateTime)(att.AttDate + editlist.TimeIn3); } else { _NewTimeIn3 = null; } if (editlist.TimeOut1 != null) { _NewTimeOut1 = (DateTime)(att.AttDate + editlist.TimeOut1); } else { _NewTimeOut1 = null; } if (editlist.TimeOut2 != null) { _NewTimeOut2 = (DateTime)(att.AttDate + editlist.TimeOut2); } else { _NewTimeOut2 = null; } if (editlist.TimeOut3 != null) { _NewTimeOut3 = (DateTime)(att.AttDate + editlist.TimeOut3); } else { _NewTimeOut3 = null; } if (editlist.TimeOut < editlist.TimeIn) { _NewTimeOut = att.AttDate.Value.AddDays(1) + editlist.TimeOut; } else { _NewTimeOut = (DateTime)(att.AttDate + editlist.TimeOut); } if (editlist.TimeOut1 < editlist.TimeIn1) { _NewTimeOut1 = att.AttDate.Value.AddDays(1) + editlist.TimeOut1; } if (editlist.TimeOut2 < editlist.TimeIn2) { _NewTimeOut2 = att.AttDate.Value.AddDays(1) + editlist.TimeOut2; } if (editlist.TimeOut3 < editlist.TimeIn3) { _NewTimeOut3 = att.AttDate.Value.AddDays(1) + editlist.TimeOut3; } ManualAttendanceProcess _pma = new ManualAttendanceProcess(editlist.EmpDate, "", false, _NewTimeIn, _NewTimeOut, editlist.DutyCode, _UserID, editlist.DutyTime, "", (short)editlist.ShiftTime.TotalMinutes, _NewTimeIn1, _NewTimeOut1, _NewTimeIn2, _NewTimeOut2, _NewTimeIn3, _NewTimeOut3, Remarks); } } else { } } using (var ctx = new HRMEntities()) { List <Att_DailyAttendance> dailyAttendance = new List <Att_DailyAttendance>(); switch (Criteria) { case "rbAll": dailyAttendance = ctx.Att_DailyAttendance.Where(aa => aa.AttDate == dt).OrderByDescending(aa => aa.EmpID).ToList(); Criteria = "rbAll"; break; case "rbShift": dailyAttendance = ctx.Att_DailyAttendance.Where(aa => aa.HR_Employee.ShiftID == CriteriaData && aa.AttDate == dt).OrderByDescending(aa => aa.EmpID).ToList(); Criteria = "rbShift"; break; case "rbLocation": dailyAttendance = ctx.Att_DailyAttendance.Where(aa => aa.HR_Employee.LocationID == CriteriaData && aa.AttDate == dt).OrderByDescending(aa => aa.EmpID).ToList(); Criteria = "rbLocation"; break; //case "rbGroup": // dailyAttendance = ctx.Att_DailyAttendance.Where(aa => aa.HR_Employee.GroupID == CriteriaData && aa.AttDate == dt).OrderByDescending(aa => aa.EmpID).ToList(); // Criteria = "rbGroup"; // break; //case "rbDivision": // dailyAttendance = ctx.Att_DailyAttendance.Where(aa => aa.HR_Employee.HR_Section.HR_Department.DivsionID == CriteriaData && aa.AttDate == dt).OrderByDescending(aa => aa.EmpID).ToList(); // Criteria = "rbDivision"; // break; case "rbDepartment": dailyAttendance = ctx.Att_DailyAttendance.Where(aa => aa.HR_Employee.HR_Section.DepartmentID == CriteriaData && aa.AttDate == dt).OrderByDescending(aa => aa.EmpID).ToList(); Criteria = "rbDepartment"; break; case "rbSection": dailyAttendance = ctx.Att_DailyAttendance.Where(aa => aa.HR_Employee.SectionID == CriteriaData && aa.AttDate == dt).OrderByDescending(aa => aa.EmpID).ToList(); Criteria = "rbSection"; break; } return(View("EditDateWiseEntries", EditAttManager.GetAttendanceAttributesDateWise(dailyAttendance, dt, Criteria, CriteriaData))); } } catch (Exception) { throw; } }
public ActionResult EditAttWizardData([Bind(Include = "EmpDate,AttDate,EmpNo,EmpID,DutyCode,DutyTime,TimeIn,TimeOut,WorkMin,LateIn,LateOut,EarlyIn,EarlyOut,OTMin,GZOTMin,BreakMin,SLMin,StatusP,StatusAB,StatusLI,StatusLO,StatusEI,StatusEO,StatusOT,StatusGZOT,StatusGZ,StatusDO,StatusHD,StatusSL,StatusOD,StatusLeave,StatusMN,StatusIN,StatusBreak,ShifMin,ShfSplit,ProcessIn,Remarks,Tin0,Tout0,Tin1,Tout1,Tin2,Tout2,Tin3,Tout3,Tin4,Tout4,Tin5,Tout5,Tin6,Tout6,Tin7,Tout7,Tin8,Tout8,Tin9,Tout9,Tin10,Tout10,Tin11,Tout11,Tin12,Tout12,Tin13,Tout13,Tin14,Tout14,Tin15,Tout15")] AttData _attData, FormCollection form, string NewDutyCode) { User LoggedInUser = Session["LoggedUser"] as User; string _EmpDate = _attData.EmpDate; ViewBag.JobCardType = new SelectList(db.JobCards, "WorkCardID", "WorkCardName"); ViewBag.ShiftList = new SelectList(db.Shifts, "ShiftID", "ShiftName"); ViewBag.CrewList = new SelectList(db.Crews, "CrewID", "CrewName"); ViewBag.SectionList = new SelectList(db.Sections, "SectionID", "SectionName"); ViewBag.CompanyID = new SelectList(db.Companies, "CompID", "CompName", LoggedInUser.CompanyID); try { string STimeIn = form["Inhours"].ToString(); string STimeOut = form["OutHour"].ToString(); string STimeInH = STimeIn.Substring(0, 2); string STimeInM = STimeIn.Substring(2, 2); string STimeOutH = STimeOut.Substring(0, 2); string STimeOutM = STimeOut.Substring(2, 2); string DutyTime = form["DutyTime"].ToString(); string Remarks = form["NewRemarks"].ToString(); string SDutyH = DutyTime.Substring(0, 2); string SDutyM = DutyTime.Substring(2, 2); string ShiftMinString = form["ShiftMinHidden"].ToString(); if (TimeValid(STimeIn, STimeOut)) { TimeSpan _TimeIn = new TimeSpan(Convert.ToInt16(STimeInH), Convert.ToInt16(STimeInM), 0); TimeSpan _TimeOut = new TimeSpan(Convert.ToInt16(STimeOutH), Convert.ToInt16(STimeOutM), 0); TimeSpan _DutyTime = Convert.ToDateTime(form["DutyTime"].ToString()).TimeOfDay; //TimeSpan _DutyTime = new TimeSpan(Convert.ToInt16(SDutyH), Convert.ToInt16(SDutyM), 0); TimeSpan _ThresHoldTimeS = new TimeSpan(14, 00, 00); TimeSpan _ThresHoldTimeE = new TimeSpan(06, 00, 00); string date = Request.Form["Attdate"].ToString(); DateTime _AttDate = Convert.ToDateTime(date); short ShiftMins = Convert.ToInt16(ShiftMinString); DateTime _NewTimeIn = new DateTime(); DateTime _NewTimeOut = new DateTime(); _NewTimeIn = _AttDate + _TimeIn; if (_TimeOut < _TimeIn) { _NewTimeOut = _AttDate.AddDays(1) + _TimeOut; } else { _NewTimeOut = _AttDate + _TimeOut; } int _UserID = Convert.ToInt32(Session["LogedUserID"].ToString()); HelperClass.MyHelper.SaveAuditLog(_UserID, (byte)MyEnums.FormName.EditAttendance, (byte)MyEnums.Operation.Edit, DateTime.Now); ManualAttendanceProcess _pma = new ManualAttendanceProcess(_EmpDate, "", false, _NewTimeIn, _NewTimeOut, NewDutyCode, _UserID, _DutyTime, Remarks, ShiftMins); List <PollData> _Polls = new List <PollData>(); _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); _attData = db.AttDatas.First(aa => aa.EmpDate == _EmpDate); ViewBag.SucessMessage = "Attendance record updated."; 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 { ViewBag.SucessMessage = "New Time In and New Time out is not valid"; _attData = db.AttDatas.First(aa => aa.EmpDate == _EmpDate); return(View(_attData)); } } catch (Exception ex) { ViewBag.SucessMessage = "An error occured while saving Entry"; _attData = db.AttDatas.First(aa => aa.EmpDate == _EmpDate); List <PollData> _Polls = new List <PollData>(); _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); return(View(_attData)); } }
public ActionResult SaveEditEntries(AttEditSingleEmployee Model) { try { bool edited = false; int _UserID = Convert.ToInt32(Session["LoggedUserID"].ToString()); int empID = Convert.ToInt32(Request.Form["empID"].ToString()); DateTime dtFrom = Convert.ToDateTime(Request.Form["dateFrom"].ToString()); DateTime dtTo = Convert.ToDateTime(Request.Form["dateTo"].ToString()); List <Att_DailyAttendance> oldAttendance = new List <Att_DailyAttendance>(); oldAttendance = db.Att_DailyAttendance.Where(aa => aa.EmpID == empID && aa.AttDate >= dtFrom && aa.AttDate <= dtTo).ToList(); for (int i = 0; i < oldAttendance.Count; i++) { string empDate = Request.Form["EmpDate" + i.ToString()].ToString(); Att_DailyAttendance att = oldAttendance.First(aa => aa.EmpDate == empDate); string DutyCode = Request.Form["DutyCode" + i.ToString()].ToString(); string DutyTime = Request.Form["DutyTime" + i.ToString()].ToString(); string ShiftTime = Request.Form["ShiftTime" + i.ToString()].ToString(); //string TimeIn = Request.Form["TimeIn" + i.ToString()].ToString(); //string TimeOut = Request.Form["TimeOut" + i.ToString()].ToString(); string TIn1 = Request.Form["TimeIn1" + i.ToString()].ToString(); string TOut1 = Request.Form["TimeOut1" + i.ToString()].ToString(); string TIn2 = Request.Form["TimeIn2" + i.ToString()].ToString(); string TOut2 = Request.Form["TimeOut2" + i.ToString()].ToString(); string TIn3 = Request.Form["TimeIn3" + i.ToString()].ToString(); string TOut3 = Request.Form["TimeOut3" + i.ToString()].ToString(); string Remarks = Request.Form["Remarks" + i.ToString()].ToString(); EditAttendanceList editlist = EditAttManager.GetEditAttendanceList(empDate, DutyCode, DutyTime, ShiftTime, TIn1, TOut1, TIn2, TOut2, TIn3, TOut3, Remarks); if (EditAttManager.CheckRecordIsEdited(att, editlist)) { edited = true; DateTime _NewTimeIn = new DateTime(); DateTime _NewTimeOut = new DateTime(); DateTime?_NewTimeIn1; DateTime?_NewTimeOut1; DateTime?_NewTimeIn2; DateTime?_NewTimeOut2; DateTime?_NewTimeIn3; DateTime?_NewTimeOut3; _NewTimeIn = (DateTime)(att.AttDate + editlist.TimeIn); if (editlist.TimeIn != null && editlist.TimeOut != null) { if (editlist.TimeIn1 != null) { _NewTimeIn1 = (DateTime)(att.AttDate + editlist.TimeIn1); } else { _NewTimeIn1 = null; } if (editlist.TimeIn2 != null) { _NewTimeIn2 = (DateTime)(att.AttDate + editlist.TimeIn2); } else { _NewTimeIn2 = null; } if (editlist.TimeIn3 != null) { _NewTimeIn3 = (DateTime)(att.AttDate + editlist.TimeIn3); } else { _NewTimeIn3 = null; } if (editlist.TimeOut1 != null) { _NewTimeOut1 = (DateTime)(att.AttDate + editlist.TimeOut1); } else { _NewTimeOut1 = null; } if (editlist.TimeOut2 != null) { _NewTimeOut2 = (DateTime)(att.AttDate + editlist.TimeOut2); } else { _NewTimeOut2 = null; } if (editlist.TimeOut3 != null) { _NewTimeOut3 = (DateTime)(att.AttDate + editlist.TimeOut3); } else { _NewTimeOut3 = null; } if (editlist.TimeOut < editlist.TimeIn) { _NewTimeOut = att.AttDate.Value.AddDays(1) + editlist.TimeOut; } else { _NewTimeOut = (DateTime)(att.AttDate + editlist.TimeOut); } if (editlist.TimeOut1 < editlist.TimeIn1) { _NewTimeOut1 = att.AttDate.Value.AddDays(1) + editlist.TimeOut1; } if (editlist.TimeOut2 < editlist.TimeIn2) { _NewTimeOut2 = att.AttDate.Value.AddDays(1) + editlist.TimeOut2; } if (editlist.TimeOut3 < editlist.TimeIn3) { _NewTimeOut3 = att.AttDate.Value.AddDays(1) + editlist.TimeOut3; } ManualAttendanceProcess _pma = new ManualAttendanceProcess(editlist.EmpDate, "", false, _NewTimeIn, _NewTimeOut, editlist.DutyCode, _UserID, editlist.DutyTime, "", (short)editlist.ShiftTime.TotalMinutes, _NewTimeIn1, _NewTimeOut1, _NewTimeIn2, _NewTimeOut2, _NewTimeIn3, _NewTimeOut3, Remarks); } else { if (editlist.TimeIn.TotalMinutes > 0) { _NewTimeIn = (DateTime)(att.AttDate + editlist.TimeIn); } if (editlist.TimeOut.TotalMinutes > 0) { _NewTimeOut = (DateTime)(att.AttDate + editlist.TimeOut); } ManualAttendanceProcess _pma = new ManualAttendanceProcess(editlist.EmpDate, "", false, _NewTimeIn, _NewTimeOut, editlist.DutyCode, _UserID, editlist.DutyTime, "", (short)editlist.ShiftTime.TotalMinutes); } } else { } } if (edited == true) { DateTime dt = oldAttendance.OrderByDescending(aa => aa.AttDate).FirstOrDefault().AttDate.Value; //Process Monthly if date is greater than 20 from start ProcessSupportFunc.ProcessAttendanceRequestMonthly(new DateTime(dt.Year, dt.Month, 1), DateTime.Today, oldAttendance.FirstOrDefault().EmpID.ToString()); } using (var ctx = new HRMEntities()) { List <Att_DailyAttendance> dailyAttendance = new List <Att_DailyAttendance>(); dailyAttendance = ctx.Att_DailyAttendance.Where(aa => aa.EmpID == empID && aa.AttDate >= dtFrom && aa.AttDate <= dtTo).ToList(); return(View("EditMultipleEntries", EditAttManager.GetAttendanceAttributes(dailyAttendance, dtFrom, dtTo))); } } catch (Exception) { throw; } }