Example #1
0
        public void ConfigureServices(IServiceCollection services)
        {
            services
            .AddMvcCore()
            .AddJsonFormatters()
            .AddCors()
            .AddDataAnnotations()
            .SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

            services.AddSpaStaticFiles(configuration =>
            {
                configuration.RootPath = "ClientApp/dist";
            });

            services.AddSingleton(sp =>
            {
                var settings = new BooksServiceSettings();
                Configuration.GetSection(typeof(BooksServiceSettings).Name).Bind(settings);
                settings.ImagesRootPath = _environment.WebRootPath;
                return(settings);
            });

            services.AddSingleton <IBooksRepository, InMemoryBooksRepository>();
            services.AddTransient <IImagesService, ImagesService>();
            services.AddTransient <IBooksService, BooksService>();
        }
Example #2
0
 public BooksService(IBooksRepository repository, IImagesService imagesService, BooksServiceSettings settings, ILogger <BooksService> logger)
 {
     _repository    = repository ?? throw new ArgumentNullException(nameof(repository));
     _imagesService = imagesService;
     _settings      = settings ?? throw new ArgumentNullException(nameof(settings));
     _logger        = logger ?? throw new ArgumentNullException(nameof(logger));
 }
Example #3
0
 public ImagesService(BooksServiceSettings settings, ILogger <ImagesService> logger)
 {
     _settings = settings ?? throw new ArgumentNullException(nameof(settings));
     _logger   = logger ?? throw new ArgumentNullException(nameof(logger));
 }