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()); }
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); }