public RegistrationController(Func<RegisterUserPreCommand> registerUserPreCommandAccessor, Func<VerifyAccountPreCommand> verifyAccountPreCommandAccessor, IExternalUserService externalUserService, IProvideUserConfiguration configuration, Func<RegisterExistingUserPreCommand> registerExistingUserPreCommandAccessor)
 {
     this.registerUserPreCommandAccessor = registerUserPreCommandAccessor;
     this.verifyAccountPreCommandAccessor = verifyAccountPreCommandAccessor;
     this.externalUserService = externalUserService;
     this.configuration = configuration;
     this.registerExistingUserPreCommandAccessor = registerExistingUserPreCommandAccessor;
 }
        public TwitterController(IProvideUserConfiguration configuration, Func<TwitterLoginCommand> twitterLoginCommandAccessor, ITwitterClient twitterClient, IOAuthUserService service)
        {
            if (configuration == null)
                throw new ArgumentNullException("configuration");

            this.configuration = configuration;
            this.twitterLoginCommandAccessor = twitterLoginCommandAccessor;
            this.twitterClient = twitterClient;
            this.service = service;
        }
        public RoleListController(IRoleListRoleService service, IProvideUserConfiguration userConfiguration)
        {
            if (service == null)
                throw new ArgumentNullException("service");

            if (userConfiguration == null)
                throw new ArgumentNullException("userConfiguration");

            this.service = service;
            this.userConfiguration = userConfiguration;
        }
        public AuthenticationUserListController(IAuthenticationUserListUserService service, IProvideUserConfiguration userConfiguration)
        {
            if (service == null)
                throw new ArgumentNullException("service");

            if (userConfiguration == null)
                throw new ArgumentNullException("userConfiguration");

            this.service = service;
            this.userConfiguration = userConfiguration;
        }
        public LoginStatisticsQuarterlyController(IDashboardLoginStatisticsQuarterlyService service, IProvideUserConfiguration userConfiguration)
        {
            if (service == null)
                throw new ArgumentNullException("service");

            if (userConfiguration == null)
                throw new ArgumentNullException("userConfiguration");

            this.service = service;
            this.userConfiguration = userConfiguration;
        }
        public FoursquareController(IProvideUserConfiguration configuration, Func<FoursquareLoginCommand> foursquareLoginCommandAccessor, IThreeBytesTicketService ticketService, IFoursquareClient foursquareClient, IOAuthUserService service)
        {
            if (configuration == null)
                throw new ArgumentNullException("configuration");

            this.configuration = configuration;
            this.foursquareLoginCommandAccessor = foursquareLoginCommandAccessor;
            this.ticketService = ticketService;
            this.foursquareClient = foursquareClient;
            this.service = service;
        }
        public NewestUsersController(IDashboardNewestUsersService service, IProvideUserConfiguration userConfiguration)
        {
            if (service == null)
                throw new ArgumentNullException("service");

            if (userConfiguration == null)
                throw new ArgumentNullException("userConfiguration");

            this.service = service;
            this.userConfiguration = userConfiguration;
        }
        public CreateRolePreCommand(IRoleManagementRoleValidatorResolver validatorResolver, IProvideUserConfiguration userConfiguration)
        {
            if (validatorResolver == null)
                throw new ArgumentNullException("validatorResolver");

            if (userConfiguration == null)
                throw new ArgumentNullException("userConfiguration");

            this.validatorResolver = validatorResolver;
            this.userConfiguration = userConfiguration;
        }
        public TwitterLoginCommand(IOAuthUserService service, IProvideUserConfiguration configuration, Func<LinkExistingUserToExternalProviderPreCommand> linkExistingUserToExternalProviderPreCommandAccessor, ITwitterClient twitterClient, IProvideCurrentUserDetails currentUserDetails)
        {
            if (service == null)
                throw new ArgumentNullException("service");

            if (configuration == null)
                throw new ArgumentNullException("configuration");

            this.service = service;
            this.configuration = configuration;
            this.linkExistingUserToExternalProviderPreCommandAccessor = linkExistingUserToExternalProviderPreCommandAccessor;
            this.twitterClient = twitterClient;
            this.currentUserDetails = currentUserDetails;
        }
        public FacebookLoginCommand(IOAuthUserService service, IProvideUserConfiguration configuration, Func<RegisterExternalUserPreCommand> registerExternalUserPreCommandAccessor, Func<LinkExistingUserToExternalProviderPreCommand> linkExistingUserToExternalProviderPreCommandAccessor, IFacebookClient facebookClient)
        {
            if (service == null)
                throw new ArgumentNullException("service");

            if (configuration == null)
                throw new ArgumentNullException("configuration");

            this.service = service;
            this.configuration = configuration;
            this.registerExternalUserPreCommandAccessor = registerExternalUserPreCommandAccessor;
            this.linkExistingUserToExternalProviderPreCommandAccessor = linkExistingUserToExternalProviderPreCommandAccessor;
            this.facebookClient = facebookClient;
        }
        public VerifyAccountPreCommand(IRegistrationUserValidatorResolver validatorResolver, IRegistrationUserService service, IProvideUserConfiguration configuration)
        {
            if (validatorResolver == null)
                throw new ArgumentNullException("validatorResolver");

            if (service == null)
                throw new ArgumentNullException("service");

            if (configuration == null)
                throw new ArgumentNullException("configuration");

            this.validatorResolver = validatorResolver;
            this.service = service;
            this.configuration = configuration;
        }
        public ResetPasswordPreCommand(IProvideUserConfiguration configuration, IPasswordManagementUserService service, IPasswordManagementUserValidatorResolver validatorResolver)
        {
            if (configuration == null)
                throw new ArgumentNullException("configuration");

            if (service == null)
                throw new ArgumentNullException("service");

            if (validatorResolver == null)
                throw new ArgumentNullException("validatorResolver");

            this.configuration = configuration;
            this.service = service;
            this.validatorResolver = validatorResolver;
        }
        public RegisterExistingUserPreCommand(IRegistrationUserValidatorResolver validatorResolver, IPasswordEncoder passwordEncoder, IProvideUserConfiguration configuration, IExternalUserService externalUserService)
        {
            if (validatorResolver == null)
                throw new ArgumentNullException("validatorResolver");

            if (passwordEncoder == null)
                throw new ArgumentNullException("passwordEncoder");

            if (configuration == null)
                throw new ArgumentNullException("configuration");

            this.passwordEncoder = passwordEncoder;
            this.validatorResolver = validatorResolver;
            this.configuration = configuration;
            this.externalUserService = externalUserService;
        }
        public LoginController(Func<UserEnteredIncorrectPasswordPreCommand> userEnteredIncorrectPasswordPreCommandAccessor, IProvideLoginConfiguration loginConfiguration, Func<LoginUserCommand> loginUserCommandAccessor, IThreeBytesTicketService ticketService, IProvideUserConfiguration configuration)
        {
            if (userEnteredIncorrectPasswordPreCommandAccessor == null)
                throw new ArgumentNullException("userEnteredIncorrectPasswordPreCommandAccessor");

            if (loginUserCommandAccessor == null)
                throw new ArgumentNullException("loginUserCommandAccessor");

            if (loginConfiguration == null)
                throw new ArgumentNullException("loginConfiguration");

            this.userEnteredIncorrectPasswordPreCommandAccessor = userEnteredIncorrectPasswordPreCommandAccessor;
            this.loginConfiguration = loginConfiguration;
            this.loginUserCommandAccessor = loginUserCommandAccessor;
            this.ticketService = ticketService;
            this.configuration = configuration;
        }
        public AuthenticationUserManagementController(IAuthenticationUserManagementUserService service, IAuthenticationUserManagementRoleService roleService, Func<CreateUserRoleAssociationPreCommand> createUserRoleAssociationPreCommandAccessor, IProvideUserConfiguration userConfiguration, Func<RemoveUserRoleAssociationPreCommand> removeUserRoleAssociationPreCommandAccessor, ICurrentlyViewingUserService currentlyViewingUserService)
        {
            if (service == null)
                throw new ArgumentNullException("service");

            if (roleService == null)
                throw new ArgumentNullException("roleService");

            if (userConfiguration == null)
                throw new ArgumentNullException("userConfiguration");

            this.service = service;
            this.roleService = roleService;
            this.createUserRoleAssociationPreCommandAccessor = createUserRoleAssociationPreCommandAccessor;
            this.userConfiguration = userConfiguration;
            this.removeUserRoleAssociationPreCommandAccessor = removeUserRoleAssociationPreCommandAccessor;
            this.currentlyViewingUserService = currentlyViewingUserService;
        }
        public LoginUserCommand(ILoginUserValidatorResolver validatorResolver, ILoginUserService service, IProvideUserConfiguration userConfiguration, IPasswordEncoder passwordEncoder)
        {
            if (service == null)
                throw new ArgumentNullException("service");

            if (validatorResolver == null)
                throw new ArgumentNullException("validatorResolver");

            if (userConfiguration == null)
                throw new ArgumentNullException("userConfiguration");

            if (passwordEncoder == null)
                throw new ArgumentNullException("passwordEncoder");

            this.validatorResolver = validatorResolver;
            this.service = service;
            this.userConfiguration = userConfiguration;
            this.passwordEncoder = passwordEncoder;
        }
 public LinkExistingUserToExternalProviderPreCommand(IProvideUserConfiguration configuration, IOAuthUserService service, IOAuthUserValidatorResolver validatorResolver)
 {
     this.configuration = configuration;
     this.service = service;
     this.validatorResolver = validatorResolver;
 }
 public RegisterExternalUserPreCommand(IProvideUserConfiguration configuration, IOAuthUserValidatorResolver validatorResolver)
 {
     this.configuration = configuration;
     this.validatorResolver = validatorResolver;
 }