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));
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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));
        }