public async Task MoveClass(PostMoveClass post) { List <StudentClass> stCls = await _context.StudentClasses.Where(cl => cl.ClassId == post.SourceClass).ToListAsync(); if (stCls.Any()) { foreach (int sId in post.StudentIds) { var studentClass = await _context.StudentClasses.Where(s => s.ClassId == post.SourceClass && s.StudentId == sId).FirstOrDefaultAsync(); // var point = await _context.points.Where(s => s.Student.Id == sId && s.Class.Id == post.SourceClass).FirstOrDefaultAsync(); if (studentClass == null) { await Create(studentClass); } else { studentClass.ClassId = post.TargetClass; await Update(studentClass.Id, studentClass); } } } else { foreach (int sId in post.StudentIds) { await Create(new Models.StudentClass { StudentId = sId, ClassId = post.TargetClass }); } } }
public async Task <ActionResult> MoveClass([FromBody] PostMoveClass post) { if (post.SourceClass == default(int)) { return(Ok(new { status = ResultStatus.STATUS_INVALID_INPUT, message = "Thiếu mã lớp cũ" })); } if (post.TargetClass == default(int)) { return(Ok(new { status = ResultStatus.STATUS_INVALID_INPUT, message = "Thiếu mã lớp mới" })); } if (!post.StudentIds.Any()) { return(Ok(new { status = ResultStatus.STATUS_INVALID_INPUT, message = "Thiếu danh sách học sinh" })); } await studentClassRepository.MoveClass(post); return(Ok(new { status = ResultStatus.STATUS_OK, data = new { classId = post.TargetClass, students = post.StudentIds } })); }