Esempio n. 1
0
        public async Task <IActionResult> PutUser(int id, User user)
        {
            if (id != user.Id)
            {
                return(BadRequest());
            }

            _context.Entry(user).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!UserExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Esempio n. 2
0
        public async Task <ActionResult <Grade> > PostGrade(Grade grade)
        {
            //Check if the user exists
            User user = _context.User.Where(x => x.Ani == grade.Ani).FirstOrDefault();

            if (user == null)
            {
                user              = new User();
                user.Ani          = grade.Ani;
                user.AttemptCount = 0;
                _context.User.Add(user);
            }
            Word    word    = _context.Word.Find(grade.WordId);
            Attempt attempt = new Attempt();

            attempt.Word        = word;
            attempt.RecordedURL = grade.RecordedURL;
            attempt.User        = user;
            attempt.Created     = DateTime.Now;
            attempt.Confidence  = await Watson.RecognizeAsync(attempt);

            user.Score = (user.Score * user.AttemptCount + attempt.Confidence) / (user.AttemptCount + 1);
            user.AttemptCount++;
            _context.Attempt.Add(attempt);
            await _context.SaveChangesAsync();

            //Create the attempt
            grade.Ani = attempt.Confidence.ToString();
            return(grade);
        }