Outline

Solution: Add Config Dependency Injection

In the Conduit.Repositories Project we need to inject the configuration object into the Account Repository Class.

Modify Conduit.Repositories.AccountRepository.cs file
  • Add a private member
    • Type: IConfiguration
    • Name: Configuration
Modify the Constructor
  • Add parameter
    • Type: IConfiguration
    • Name: configuration
  • Assign the parameter value to the member

Take note of the upper- and lower-case character difference between the member and the parameter. In the next video I’ll show you my solution to injecting the configuration object.

Here's the abbreviated code for AccountRepository.cs file:

namespace Conduit.Repositories
{
    public class AccountRepository : IAccountRepository
    {
        private ConduitContext Context;
        private IConfiguration Configuration;
        private ILogger<AccountRepository> Logger;

        private async Task<Account> CreateAccountAsync(Register register)
        {
            // code removed for brevity
        }

        private void CreatePasswordHash(string password, out byte[] passwordHash, out byte[] passwordSalt)
        {
            // code removed for brevity
        }

        private async Task<bool> UserExistAsync(Register register)
        {
            // code removed for brevity
        }

        public async Task<User> RegisterUserAsync(Register register)
        {
            // code removed for brevity
        }

        public AccountRepository(ConduitContext context, IConfiguration configuration, ILogger<AccountRepository> logger)
        {
            Context = context;
            Configuration = configuration;
            Logger = logger;
        }
    }
}