public void stopAttendance() { using (ModelContext db = new ModelContext()) { int[] attendanceRegisterid = db.AttendanceRegisterList.Where(x => x.Date >= DateTime.Today) .Select(x => x.StaffId).ToArray(); List <Staff> staffs = db.Staffs.ToList(); int[] staffsId = staffs.Select(x => x.StaffId).ToArray(); var missingStaff = staffsId.Except(attendanceRegisterid); foreach (var staffId in missingStaff) { var attendanceRegister = new AttendanceRegister { Date = DateTime.Now, ArrivalTime = "-", DepartureTime = "-", StaffId = staffId, Remark = staffs.Where(x => x.StaffId == staffId).FirstOrDefault().OnLeave ? "on leave" : "absent" }; if (db.Entry <AttendanceRegister>(attendanceRegister).State == System.Data.Entity.EntityState.Detached) { db.Set <AttendanceRegister>().Attach(attendanceRegister); } db.Entry <AttendanceRegister>(attendanceRegister).State = System.Data.Entity.EntityState.Added; db.SaveChanges(); } } }
public async Task <IActionResult> Edit(int id, [Bind("Id,EmployeeId,Attendance,AttendanceTime")] AttendanceRegister attendanceRegister) { if (id != attendanceRegister.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(attendanceRegister); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!AttendanceRegisterExists(attendanceRegister.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["EmployeeId"] = new SelectList(_context.Employee, "Id", "FirstName", attendanceRegister.EmployeeId); return(View(attendanceRegister)); }
public async Task <IActionResult> Create([Bind("Id,EmployeeId,Attendance,AttendanceTime")] AttendanceRegister attendanceRegister) { if (ModelState.IsValid) { _context.Add(attendanceRegister); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["EmployeeId"] = new SelectList(_context.Employee, "Id", "FirstName", attendanceRegister.EmployeeId); return(View(attendanceRegister)); }
public bool NewAttendanceRegister(AttendanceRegister _register ) { SqlParameter[] Params = new SqlParameter[] { new SqlParameter("@ModuleCode", _register.ModuleCode), new SqlParameter("@StaffNumber", _register.StaffNumber), new SqlParameter("@VenueCode",_register.VenueCode), new SqlParameter("@DateTime", _register.DateTime) }; return DataAccess.ExecuteNonQuery("sp_InsertAttendanceRegister", CommandType.StoredProcedure, Params); }
public AttendanceRegister GetAttendanceRegister(int AttendanceRegNumber) { AttendanceRegister reg = null; SqlParameter[] Params = { new SqlParameter("@AttendanceRegNumber", AttendanceRegNumber) }; using (DataTable table = DataAccess.ExecuteParamatizedSelectCommand("sp_GetAttendanceRegister", CommandType.StoredProcedure, Params)) { if (table.Rows.Count == 1) { DataRow row = table.Rows[0]; reg = new AttendanceRegister(); reg.DateTime = Convert.ToDateTime(row["DateTime"]); reg.ModuleCode = row["ModuleCode"].ToString(); reg.StaffNumber = row["StaffNumber"].ToString(); reg.VenueCode = row["VenueCode"].ToString(); } } return reg; }
public int LogAttendance(Staff _staff) { using (ModelContext db = new ModelContext()) { var attendanceRegister = db.AttendanceRegisterList.Where(x => x.Staff.StaffId == _staff.StaffId && x.Date >= DateTime.Today).FirstOrDefault(); //if not null update departure date if (attendanceRegister != null && attendanceRegister.DepartureTime == null) { attendanceRegister.DepartureTime = DateTime.Now.ToShortTimeString(); if (db.Entry <AttendanceRegister>(attendanceRegister).State == System.Data.Entity.EntityState.Detached) { db.Set <AttendanceRegister>().Attach(attendanceRegister); } db.Entry <AttendanceRegister>(attendanceRegister).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); return(1); } //if null update if (attendanceRegister == null) { attendanceRegister = new AttendanceRegister { Date = DateTime.Now, ArrivalTime = DateTime.Now.ToShortTimeString(), DepartureTime = null, StaffId = _staff.StaffId, Remark = "Present" }; if (db.Entry <AttendanceRegister>(attendanceRegister).State == System.Data.Entity.EntityState.Detached) { db.Set <AttendanceRegister>().Attach(attendanceRegister); } db.Entry <AttendanceRegister>(attendanceRegister).State = System.Data.Entity.EntityState.Added; db.SaveChanges(); return(2); } return(0); } }
public List<AttendanceRegister> GetRangeOfAttendanceRegisters(DateTime startDate, DateTime endDate) { List<AttendanceRegister> _regList = null; SqlParameter[] Params = { new SqlParameter("@startDate", startDate), new SqlParameter("@endDate", endDate) }; using (DataTable table = DataAccess.ExecuteParamatizedSelectCommand("", CommandType.StoredProcedure, Params)) { if (table.Rows.Count > 0) { _regList = new List<AttendanceRegister>(); foreach (DataRow row in table.Rows) { AttendanceRegister _reg = new AttendanceRegister(); _reg.DateTime = Convert.ToDateTime(row["DateTime"]); _reg.ModuleCode = row["ModuleCode"].ToString(); _reg.StaffNumber = row["StaffNumber"].ToString(); _reg.VenueCode = row["VenueCode"].ToString(); _regList.Add(_reg); } } } return _regList; }
public List<AttendanceRegister> GetAllAttendanceRegisters() { List<AttendanceRegister> _regList = null; using (DataTable table = DataAccess.ExecuteSelectCommand("sp_GetAllAttendanceRegisters", CommandType.StoredProcedure)) { if (table.Rows.Count > 0) { _regList = new List<AttendanceRegister>(); foreach (DataRow row in table.Rows) { AttendanceRegister _reg = new AttendanceRegister(); _reg.DateTime = Convert.ToDateTime(row["DateTime"]); _reg.ModuleCode = row["ModuleCode"].ToString(); _reg.StaffNumber = row["StaffNumber"].ToString(); _reg.VenueCode = row["VenueCode"].ToString(); _regList.Add(_reg); } } } return _regList; }
public bool InsertAttendanceRegister(AttendanceRegister _register) { AttendanceRegisterHandler myHandler = new AttendanceRegisterHandler(); return myHandler.NewAttendanceRegister(_register); }