public async Task <ApiResult <bool> > CreatebyTeacher(CreateAttendancebyTeacher request) { var schdule = await _context.Schedules.FindAsync(request.Id_Schedule); if (schdule == null) { return(new ApiErrorResult <bool>("Không tìm thấy dữ liệu")); } var repo = await _context.HistoryAttendances.FindAsync(request.Id_Schedule); if (repo == null) { return(new ApiErrorResult <bool>("Lỗi điểm danh")); } var queryStudent = from e in _context.Equipment join st in _context.Students on e.Id_Student equals st.Id join rc in _context.RegisterCourses on st.Id equals rc.Id_Student where schdule.Id_Course == rc.Id_Course select new { e, st, rc }; var dataStudent = await queryStudent.Select(x => x.e.Id_BLE).ToListAsync(); var query = from d in _context.DetailHAs where d.Id_HistoryAttendance == request.Id_Schedule select new { d }; var data = await query.Select(x => x.d.Id_Student).ToListAsync(); foreach (var item in request.Content) { var equipment = await _context.Equipment.FindAsync(item.Id_BLE); int check = data.IndexOf(equipment.Id_Student); int checkStudent = dataStudent.IndexOf(item.Id_BLE); if (check == -1 && checkStudent > -1) { var detailHa = new DetailHA() { Id_HistoryAttendance = request.Id_Schedule, Id_Student = equipment.Id_Student, DateCreate = DateTime.UtcNow.AddHours(7) }; data.Add(equipment.Id_Student); _context.DetailHAs.Add(detailHa); } } ; await _context.SaveChangesAsync(); return(new ApiSuccessResult <bool>("Điểm danh thành công")); }
public async Task <IActionResult> Create(CreateAttendancebyTeacher request) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var result = await _attendanceService.CreatebyTeacher(request); if (result.IsSuccessed == false) { return(BadRequest(result)); } return(Ok(result)); }