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>(); }
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)); }
public ImagesService(BooksServiceSettings settings, ILogger <ImagesService> logger) { _settings = settings ?? throw new ArgumentNullException(nameof(settings)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); }