public async Task <StudentScore> GiveScore(GiveScoreRequest giveScoreRequest, int providedById)
        {
            var scoreModel = new StudentScore()
            {
                StudentId    = giveScoreRequest.StudentId,
                SubjectId    = giveScoreRequest.SubjectId,
                Value        = giveScoreRequest.Score,
                ProvidedById = providedById
            };

            _context.Set <StudentScore>().Add(scoreModel);
            await _context.SaveChangesAsync();

            return(scoreModel);
        }
        public async Task <ActionResult <StudentScore> > GiveScore([FromBody] GiveScoreRequest giveScoreRequest)
        {
            var session = await _repository.GetAccountBySessionToken(giveScoreRequest.Token);

            var account = await _repository.GetAccountById(session.AccountId);

            if (account.RoleId != (int)Roles.Teacher)
            {
                throw new Exception("NoPermission");
            }

            var studentScore = await _repository.GiveScore(giveScoreRequest, session.Account.Id);

            return(studentScore);
        }