public AccountManager(IWindsorContainer windsorContainer, IEmailConfirmationManager emailConfirmationManager, IDataTableBinder dataTableBinder, IUserAuditor auditor)
        {
            if (windsorContainer == null)
            {
                throw new ArgumentNullException("windsorContainer");
            }
            if (emailConfirmationManager == null)
            {
                throw new ArgumentNullException("emailConfirmationManager");
            }
            if (dataTableBinder == null)
            {
                throw new ArgumentNullException("dataTableBinder");
            }
            if (auditor == null)
            {
                throw new ArgumentNullException("auditor");
            }
            IRepositoryContainer repositoryContainer = windsorContainer.Resolve <IRepositoryContainer>();

            UserRepository     = repositoryContainer.Obtain <IUserRepository>();
            SchoolRepository   = repositoryContainer.Obtain <ISchoolRepository>();
            ProviderRepository = repositoryContainer.Obtain <IProviderRepository>();
            RoleRepository     = repositoryContainer.Obtain <IRoleRepository>();
            UserRoleRepository = repositoryContainer.Obtain <IUserRoleRepository>();
            UserAccessChangeEventRepository = repositoryContainer.Obtain <IUserAccessChangeEventRepository>();
            LoginEventRepository            = repositoryContainer.Obtain <ILoginEventRepository>();
            EulaAgreementRepository         = repositoryContainer.Obtain <IEulaAgreementRepository>();
            RepositoryContainer             = repositoryContainer;
            EmailConfirmationManager        = emailConfirmationManager;
            DataTableBinder = dataTableBinder;
            Auditor         = auditor;
        }
 public AccountManager(IWindsorContainer windsorContainer, IEmailConfirmationManager emailConfirmationManager, IDataTableBinder dataTableBinder, IUserAuditor auditor)
 {
     if (windsorContainer == null)
     {
         throw new ArgumentNullException("windsorContainer");
     }
     if (emailConfirmationManager == null)
     {
         throw new ArgumentNullException("emailConfirmationManager");
     }
     if (dataTableBinder == null)
     {
         throw new ArgumentNullException("dataTableBinder");
     }
     if (auditor == null)
     {
         throw new ArgumentNullException("auditor");
     }
     IRepositoryContainer repositoryContainer = windsorContainer.Resolve<IRepositoryContainer>();
     UserRepository = repositoryContainer.Obtain<IUserRepository>();
     SchoolRepository = repositoryContainer.Obtain<ISchoolRepository>();
     ProviderRepository = repositoryContainer.Obtain<IProviderRepository>();
     RoleRepository = repositoryContainer.Obtain<IRoleRepository>();
     UserRoleRepository = repositoryContainer.Obtain<IUserRoleRepository>();
     UserAccessChangeEventRepository = repositoryContainer.Obtain<IUserAccessChangeEventRepository>();
     LoginEventRepository = repositoryContainer.Obtain<ILoginEventRepository>();
     EulaAgreementRepository = repositoryContainer.Obtain<IEulaAgreementRepository>();
     RepositoryContainer = repositoryContainer;
     EmailConfirmationManager = emailConfirmationManager;
     DataTableBinder = dataTableBinder;
     Auditor = auditor;
 }
 public AccountController(IUserRegisterer userRegisterer,
     IEmailConfirmationManager emailConfirmationManager,
     IStringIntoFileInjector stringInjector,
     IEmailSender emailSender,
     UserManager<AppUser> userManager,
     ILoginChecker loginChecker)
 {
     _userRegisterer = userRegisterer;
     _emailConfirmationManager = emailConfirmationManager;
     _stringInjector = stringInjector;
     _emailSender = emailSender;
     _userManager = userManager;
     _loginChecker = loginChecker;
 }