public ActionResult <UserBookNoteResponse> Post([FromBody] UserBookNote newItem) { var response = new UserBookNoteResponse(); if (newItem is null) { return(BadRequest()); } response.UserBookNote = _userBookNoteService.AddUserBookNote(newItem); response.Achievements = AwardAchievements((Guid)newItem.UserId); var lvl = _levelingService.AddExperience(newItem.UserId, Activity.AddedNote); if (lvl > 0) { response.LevelupResponse = new LevelupResponse { NewLevel = lvl }; } return(Ok(response)); }
public ActionResult <CaseResponse> Post([FromBody] Case newItem) { var response = new CaseResponse(); if (newItem is null) { return(BadRequest()); } response.Case = _caseService.AddCase(newItem); response.Achievements = AwardAchievements((Guid)newItem.UserId); var lvl = _levelingService.AddExperience(newItem.UserId, Activity.CreatedCase); if (lvl > 0) { response.LevelupResponse = new LevelupResponse { NewLevel = lvl }; } return(Ok(response)); }
public ActionResult Post([FromBody] BooksReadRequest request) { var response = new BooksReadResponse(); if (request is null) { return(BadRequest()); } foreach (var bookId in request.BookIds) { var exists = _booksReadService .AsQueryable() .Any(x => x.BookId == bookId && x.UserId == request.UserId); if (exists) { return(BadRequest("User already read that book!")); } var newBookRead = new BooksRead { BookId = bookId, UserId = (Guid)request.UserId }; var item = _booksReadService.AddBooksRead(newBookRead); var lvl = _levelingService.AddExperience(request.UserId, Activity.ReadBook); if (lvl > 0) { response.LevelupResponse = new LevelupResponse { NewLevel = lvl }; } response.BooksRead.Add(item); } response.Achievements = AwardAchievements((Guid)request.UserId); return(Ok(response)); }