Exemple #1
0
        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
                    });
                }
            }
        }
Exemple #2
0
        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 } }));
        }