public async Task ChangeAttendance(string attendanceStatus, string studentid, string coursename, string date) { DateTime Date = Convert.ToDateTime(date); int StudentId = Int32.Parse(studentid); Attendance = await _context.Attendance .Where(a => a.Date == Date).Where(a => a.StudentID == StudentId).Where(a => a.CourseName == coursename).FirstOrDefaultAsync(); if (attendanceStatus == "Attended") { Attendance.AttendanceStatusID = 1; } else if (attendanceStatus == "Late") { Attendance.AttendanceStatusID = 2; } if (attendanceStatus == "Absent") { Attendance.AttendanceStatusID = 3; } _context.Attach(Attendance).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { } await Clients.Client(Context.ConnectionId).SendAsync("AttendanceChanged", "Success"); }
//[ValidateAntiForgeryToken] public ActionResult DeleteConfirmed(int id) { Models.Attendance attendance = db.Attendances.Find(id); db.Attendances.Remove(attendance); db.SaveChanges(); return(RedirectToAction("Index")); }
public async Task <int> Add([FromBody] Models.Attendance obj, int id) { var bll_event = eventBusiness; var bll_a = attendanceBusiness; var bll_ft = firstTimerBusiness; var user = HttpContext.Items["EndUser"] as EF.EndUser; if (!await bll_event.IsSelectedIdsOk(new int[] { id }, user)) { throw new ArgumentException("Event Id is invalid."); } var attendanceid = await bll_a.Add(new EF.Attendance { EventId = id, MemberId = obj.MemberId.Value, DateTimeLogged = obj.DateTimeLogged ?? DateTime.Now }); await bll_ft.ValidateThenAdd(new EF.FirstTimer { AttendanceId = attendanceid }); await _hubContext.Clients.Group(id.ToString()).AttendanceBroadcast(new Models.Attendance { MemberId = obj.MemberId, EventId = id, DateTimeLogged = obj.DateTimeLogged ?? DateTime.Now }); return(attendanceid); }
//[ValidateAntiForgeryToken] public ActionResult Create([Bind(Include = "Id,EmployeeId,JobId,StartDateTime,EndDateTime")] Models.Attendance attendance) { if (ModelState.IsValid) { db.Attendances.Add(attendance); db.SaveChanges(); return(RedirectToAction("Index")); } int brigadeId = Helpers.Brigade.CurrentBrigade().Value; ViewBag.Employees = new SelectList(db.Employees.Where(e => e.BrigadeId == brigadeId).OrderBy(e => e.Name), "Id", "Name"); ViewBag.Jobs = new SelectList(db.Jobs.Where(j => j.BrigadeId == brigadeId).OrderBy(j => j.Description), "Id", "Description"); return(View(attendance)); }
// GET: Attendance/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Models.Attendance attendance = db.Attendances.Find(id); if (attendance == null) { return(HttpNotFound()); } return(View(attendance)); }
// GET: Attendance/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Models.Attendance attendance = db.Attendances.Find(id); if (attendance == null) { return(HttpNotFound()); } int brigadeId = Helpers.Brigade.CurrentBrigade().Value; ViewBag.Employees = new SelectList(db.Employees.Where(e => e.BrigadeId == brigadeId).OrderBy(e => e.Name), "Id", "Name"); ViewBag.Jobs = new SelectList(db.Jobs.Where(j => j.BrigadeId == brigadeId).OrderBy(j => j.Description), "Id", "Description"); return(View(attendance)); }
private void button1_Click(object sender, EventArgs e) { if (textBox1.Text.Any() && textBox2.Text.Any()) { String username = textBox1.Text; String password = Models.Employee.GetHashString(textBox2.Text); List <Models.Employee> employees = Models.Employee.Find("username='******' AND password='******'"); if (employees.Any()) { if (!Models.Attendance.Find("employeeId=" + employees[0].ID + " AND dateTime >= '" + DateTime.Today.Date + "'::date AND dateTime < ('" + DateTime.Today.Date + "'::date + '1 day'::interval) ").Any()) { Models.Attendance task = new Models.Attendance(); task.employeeId = employees[0].ID; task.dateTime = DateTime.Today; Models.Attendance.Create(task); MessageBox.Show("Welcome " + employees[0].fullName); textBox1.Clear(); textBox2.Clear(); } else { MessageBox.Show("Already Signed in!!"); textBox1.Clear(); textBox2.Clear(); } } else { MessageBox.Show("Employee Not Found"); } } else { MessageBox.Show("Please Fill All Required Fields"); } }
public ViewAttendancePage(Models.Attendance attendance) { InitializeComponent(); BindingContext = new ViewAttendanceViewModel(Navigation, attendance); }
public PresentStudents(Models.Attendance attendance) { InitializeComponent(); BindingContext = new PresentStudentsViewModel(attendance); }
public async Task OnPostImport(IFormFile postedFile) { if (postedFile != null) { using (ExcelPackage package = new ExcelPackage(postedFile.OpenReadStream())) { ExcelWorksheet worksheet = package.Workbook.Worksheets[0]; int colCount = worksheet.Dimension.End.Column; //get Column Count int rowCount = worksheet.Dimension.End.Row; //get row count bool endOfFile = false; for (int row = 6; row <= rowCount; row++) { int StudentID = 0; DateTime Date = new DateTime(); DateTime TimeIn = new DateTime(); string CourseName = ""; int AttendanceStatusID = 1; Models.Attendance tempAttendance = new Models.Attendance(); for (int col = 1; col <= colCount; col++) { //string currentThing = " Row:" + row + " column:" + col + " Value:" + worksheet.Cells[row, col].Value?.ToString().Trim(); if (col == 1) { if (worksheet.Cells[row, col].Value == null) { endOfFile = true; break; } StudentID = Int32.Parse(worksheet.Cells[row, col].Value?.ToString().Trim()); } else if (col == 3) { CourseName = worksheet.Cells[row, col].Value?.ToString().Trim(); } else if (col == 4) { Date = DateTime.Parse(worksheet.Cells[row, col].Value?.ToString().Trim()); } else if (col == 6) { string tempDate = worksheet.Cells[row, col].Value?.ToString().Trim(); if (tempDate == "Missed") { AttendanceStatusID = 3; } else { TimeIn = Convert.ToDateTime(tempDate); AttendanceStatusID = 1; } } } if (!endOfFile) { tempAttendance.StudentID = StudentID; tempAttendance.Date = Date; tempAttendance.CourseName = CourseName; if (AttendanceStatusID == 1) { tempAttendance.TimeIn = TimeIn; } tempAttendance.AttendanceStatusID = AttendanceStatusID; try { _context.Attendance.Add(tempAttendance); await _context.SaveChangesAsync(); } catch (DbUpdateException) { errorMessage = true; } } } } } var claimsIdentity = (ClaimsIdentity)User.Identity; var claim = claimsIdentity.FindFirst(ClaimTypes.NameIdentifier); string userId = claim.Value; Course = await _context.Course .ToListAsync(); Class = await _context.Class.Include(c => c.Course).Include(c => c.Term).Where(u => u.ClassID == -1).ToListAsync(); IList <ClassInstructor> Classes = await _context.ClassInstructor .Include(c => c.Class) .Where(u => u.UserID == userId) .ToListAsync(); //Class = new IList<Class>(); for (int i = 0; i < Classes.Count; i++) { Class.Add(await _context.Class .Include(c => c.Course) .Include(c => c.Term) .Where(c => c.ClassID == Classes[i].ClassID).FirstOrDefaultAsync()); } //get the last entered attendance for classes LastEnteredAttendance = await _context.Attendance .OrderByDescending(d => d.Date) .GroupBy(c => c.CourseName) .Select(c => c.First()) .ToListAsync(); }