public async Task <bool> AddGradeAsync(int courseId, string studentId, Grade grade)
        {
            var studentInCourse = await _dbContext
                                  .FindAsync <StudentCourse>(studentId, courseId); // NB keys order!

            if (studentInCourse == null)
            {
                return(false);
            }

            studentInCourse.Grade = grade;
            await _dbContext.SaveChangesAsync();

            return(true);
        }
Example #2
0
        public async Task <bool> SignOutStudentAsync(int courseId, string studentId)
        {
            var courseInfo = await GetCourseInfo(courseId, studentId);

            if (courseInfo is null ||
                courseInfo.StartDate < DateTime.UtcNow ||
                !courseInfo.UserIsEnrolledInCourse)
            {
                return(false);
            }

            //var studentInCourseJoins =
            //    await db
            //    .Courses
            //    .Where(c => c.Id == courseId)
            //    .SelectMany(c => c.Students)
            //    .FirstOrDefaultAsync(s => s.StudentId == studentId);

            var studentInCourse = await db
                                  .FindAsync <StudentCourse>(courseId, studentId);

            db.Remove(studentInCourse);

            await db.SaveChangesAsync();

            return(true);
        }
        public async Task <bool> SignOutStudentAsync(int courseId, string userId)
        {
            var courseInfo = await GetCourseInfo(courseId, userId);

            if (courseInfo == null ||
                courseInfo.StartDate < DateTime.UtcNow.Date ||
                !courseInfo.IsStudentEnrolledInCourse)
            {
                return(false);
            }

            var studentInCourse = await _dbContext.FindAsync <StudentCourse>(userId, courseId);

            _dbContext.Remove(studentInCourse);

            await _dbContext.SaveChangesAsync();

            return(true);
        }
Example #4
0
        public async Task <bool> AddGrade(int courseId, string studentId, Grade grade)
        {
            var studentInCourse = await db
                                  .FindAsync <StudentCourse>(courseId, studentId);

            if (studentInCourse is null)
            {
                return(false);
            }

            studentInCourse.Grade = grade;

            await db.SaveChangesAsync();

            return(true);
        }