Exemple #1
0
        public PinCode(PinCodeOwner owner)
        {
            Owner = owner;

            switch (owner)
            {
            case PinCodeOwner.Admin:
                Value = DefaultValues.AdminPin;
                break;

            case PinCodeOwner.User:
                Value = DefaultValues.UserPin;
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(owner));
            }
        }
        public CommandHandlerBuilder WithNewlyGeneratedPin(PinCodeOwner pinCodeOwner)
        {
            uint pinLength;

            if (pinCodeOwner == PinCodeOwner.Admin)
            {
                _prerequisites.Enqueue(_validator.ValidatePinsLengthBeforeAdminPinGeneration);
                pinLength = _commandLineOptions.AdminPinLength.Value;
            }
            else
            {
                _prerequisites.Enqueue(_validator.ValidatePinsLengthBeforeUserPinGeneration);
                pinLength = _commandLineOptions.UserPinLength.Value;
            }

            _commands.Enqueue(() =>
            {
                try
                {
                    var generatedPin = new PinCode(pinCodeOwner,
                                                   PinGenerator.Generate(_slot, _runtimeTokenParams.TokenType, pinLength));

                    if (pinCodeOwner == PinCodeOwner.Admin)
                    {
                        _runtimeTokenParams.NewAdminPin = generatedPin;
                    }
                    else
                    {
                        _runtimeTokenParams.NewUserPin = generatedPin;
                    }
                }
                catch
                {
                    Console.Error.WriteLine(Resources.PinGenerationError);
                    _logger.LogError(_logMessageBuilder.WithTokenId(Resources.PinGenerationFailed));

                    throw new TokenMustBeChangedException();
                }
            });

            return(this);
        }
Exemple #3
0
 public PinCode(PinCodeOwner owner, string pinCode)
 {
     Owner         = owner;
     Value         = pinCode;
     EnteredByUser = true;
 }