public async Task <int> CreateBookAsync(string title, string description, decimal price, int copies, int?edition, int authorId, List <string> categories) { if (await authorRepository.ExistsAsync(authorId)) { var book = new Book { Title = title, Description = description, Price = price, Copies = copies, Edition = edition, AuthorId = authorId }; await bookRepository.CreateAsync(book); await categoryRepository.AddCategoriesToBookAsync(book, categories); return(book.Id); } return(0); }