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