Exemplo n.º 1
0
        public async Task AddBookmark(AddBookmarkRequest request, string userIdentifier)
        {
            var book = await _context.Book.AsNoTracking().FirstOrDefaultAsync(b => b.BookId == request.BookId)
                       ?? throw new HbrException("Ilyen azonosítójú könyv nem létezik!");

            if (book.PageNumber < request.PageNumber)
            {
                throw new HbrException("A könyvjelző oldalszáma nem lehet nagyobb mint a könyv oldalainak száma!");
            }

            var entity = _mapper.Map <Bookmark>(request);

            entity.LastUpdated = _timeService.UtcNow;

            await _context.Bookmark.AddAsync(entity);

            await _context.SaveChangesAsync();
        }
Exemplo n.º 2
0
        public async Task AddBookToShelf(AddBookToShelfRequest request, string userIdentifier)
        {
            var entity = _mapper.Map <UserBook>(request);

            entity.UserIdentifier = userIdentifier;

            var alreadyAdded = await _context.UserBooks.AsNoTracking().AnyAsync(ub => ub.BookId == request.BookId && ub.UserIdentifier == userIdentifier);

            if (alreadyAdded)
            {
                throw new HbrException("Ez a könyv már hozzá van adva ennek a polcához!");
            }

            await _context.UserBooks.AddAsync(entity);

            await _context.SaveChangesAsync();
        }