Example #1
0
        public async Task <Payload <Book> > AddBookByIsbnAsync(
            AddBookByIsbnInput input,
            [Service] IGetClaimsProvider claimsProvider,
            [Service] IBookApiService apiService,
            [ScopedService] BookRefDbContext context)
        {
            if (context.Books.Any(e => e.Identifier == input.Isbn))
            {
                return(new Payload <Book>(BuildSingleError(new BookException($"Book with isbn '{input.Isbn}' already in database."))));
            }
            var apiResult = apiService.FindBook(input.Isbn);

            if (apiResult.IsNone)
            {
                return(new Payload <Book>(BuildSingleError(new BookException($"{input.Isbn} not found in service"))));
            }

            apiResult = new BookService().MatchAuthors(context.Authors.ToList(), apiResult);

            var book = apiResult.IfNone(new Book("", "", ""));

            var validationResult = new BookValidator().Validate(book);

            if (!validationResult.IsValid)
            {
                return(new Payload <Book>(BuildErrorList(validationResult.Errors)));
            }


            context.Books.Add(book);
            await context.SaveChangesAsync();

            return(new Payload <Book>(book));
        }
Example #2
0
        //private readonly AggregateRepository _repository;

        public SampleDataSeeder(
            BookRefDbContext context,
            IBookApiService service)
        {
            _context = context;
            _service = service;
            //_repository = repository;
        }
 public BookInventoryController(IWebHostEnvironment webHostEnvironment, IBookApiService bookApiService)
 {
     _webHostEnvironment = webHostEnvironment ?? throw new ArgumentNullException(nameof(webHostEnvironment));
     _bookApiService     = bookApiService ?? throw new ArgumentNullException(nameof(bookApiService));
 }
Example #4
0
 public BooksController(IBookApiService bookApiService, ISageApiService sageApiService)
 {
     _bookApiService = bookApiService;
     _sageApiService = sageApiService;
 }
Example #5
0
 public BasketController(IBookApiService bookApiService, IBookOrderApiService bookOrderApiService)
 {
     _bookApiService      = bookApiService;
     _bookOrderApiService = bookOrderApiService;
 }
Example #6
0
 public HomeController(IBookApiService bookApiService)
 {
     _bookApiService = bookApiService ?? throw new ArgumentNullException(nameof(bookApiService));
 }