Пример #1
0
        public async Task Process(ListBooksInput input)
        {
            var books = bookReadOnlyRepository.Select();

            var             booksOutput = books.Select(book => outputConverter.Map <BookOutput>(book));
            ListBooksOutput output      = new ListBooksOutput(booksOutput);

            outputBoundary.Populate(output);
        }
        public async Task Process(CreateBookInput input)
        {
            Book book = bookReadOnlyRepository.Select(input.Isbn);

            if (book != null)
            {
                throw new BookAlreadyExistsException($"The book {input.Isbn} already exists.");
            }

            Book newNook = new Book(
                input.BookName,
                input.Isbn,
                input.Author,
                input.Price);

            bookWriteOnlyRepository.Insert(newNook);

            var output = outputConverter.Map <BookOutput>(newNook);

            outputBoundary.Populate(output);
        }