public GateKeeperReadyProcessor(IDataStorage <GateKeeperBot> dataStorage, AsyncTaskExecutor asyncTaskExecutor, IUserChecker userChecker, IMessagesSender messagesSender)
 {
     this.dataStorage       = dataStorage;
     this.asyncTaskExecutor = asyncTaskExecutor;
     this.userChecker       = userChecker;
     this.messagesSender    = messagesSender;
 }
示例#2
0
 public PassCommand(IExecutorState executorState, IFtpMessage ftpMessage, IUserChecker userChecker, ICommandArgsResolver commandArgsResolver, IServerConnectionBuilder serverConnectionBuilder, ICommandFactory remoteCommandFactory) : base(executorState, ftpMessage)
 {
     _userChecker             = userChecker;
     _commandArgsResolver     = commandArgsResolver;
     _serverConnectionBuilder = serverConnectionBuilder;
     _remoteCommandFactory    = remoteCommandFactory;
 }
 public RegisterUserCommandHandler(
     IUserChecker userChecker,
     IPasswordService passwordService,
     IAggregateRepository aggregateRepository)
 {
     _userChecker         = userChecker;
     _passwordService     = passwordService;
     _aggregateRepository = aggregateRepository;
 }
示例#4
0
 public LocalCommandFactory(ICommandArgsResolver commandArgsResolver,
                            IUserChecker userChecker,
                            IServerConnectionBuilder serverConnectionBuilder,
                            IRemoteCommandFactory remoteCommandFactory)
 {
     _commandArgsResolver     = commandArgsResolver;
     _userChecker             = userChecker;
     _serverConnectionBuilder = serverConnectionBuilder;
     _remoteCommandFactory    = remoteCommandFactory;
 }
示例#5
0
        public UserValidator(IUserChecker userChecker)
        {
            //name validation
            RuleFor(p => p.Name)
            .NotEmpty()
            .WithMessage("Name must not be empty");
            RuleFor(p => p.Name)
            .MaximumLength(25)
            .WithMessage("Name must not exceed 25 characters");

            //lastname validation
            RuleFor(p => p.LastName)
            .NotEmpty()
            .WithMessage("LastName must not be empty");
            RuleFor(p => p.Name)
            .MaximumLength(25)
            .WithMessage("LastName must not exceed 25 characters");

            //email validation
            RuleFor(p => p.EMail)
            .NotEmpty()
            .WithMessage("Email must not be empty");
            RuleFor(p => p.EMail)
            .EmailAddress()
            .WithMessage("Email is not in correct format");
            RuleFor(p => p.EMail)
            .Must(email => !userChecker.IsEmailExisted(email).Result)
            .WithMessage("Email is already existed");

            //cellphone validation
            RuleFor(p => p.Phone)
            .NotEmpty()
            .WithMessage("Cell phone must not be empty");
            RuleFor(p => p.Phone)
            .Matches(@"^\d{10}$")
            .WithMessage("Phone is not in correct format");

            //password validation
            RuleFor(p => p.Password)
            .Matches("^(?=.*[A-Z])(?=.*[!@#$&*])(?=.*[0-9])(?=.*[a-z].*[a-z].*[a-z]).{10}$")
            .WithMessage("Password must contain at least 1 number, 1 special character, 1 capital with total of 10 character length");

            //user validation
            RuleFor(p => p.UserName)
            .NotEmpty()
            .WithMessage("User must not be empty");
            RuleFor(p => p.UserName)
            .MaximumLength(25)
            .WithMessage("User must not exceed 25 characters");
            RuleFor(p => p.UserName)
            .Must(user => !userChecker.IsUserExisted(user).Result)
            .WithMessage("User is already existed");
        }
示例#6
0
    public static User Initialize(IUserChecker userChecker, IPasswordService passwordService, string email,
                                  string password, string name)
    {
        if (!userChecker.IsUniqueEmail(email))
        {
            throw new EmailAlreadyExistsException();
        }

        var user = new User(Guid.NewGuid());

        user.ApplyChange(new UserCreatedEvent(user.Id, user.GetNextVersion(), email,
                                              passwordService.HashPassword(password), email, name, true));

        return(user);
    }