示例#1
0
        private bool PinIsContainedInBankAccountOrSortCode(IPinForValidationDto pinForValidationDto)
        {
            string pin = pinForValidationDto.Pin.ToString();

            bool bankAccountContainsPin = pinForValidationDto.BankAccount.Contains(pin);
            bool sortCodeContains       = pinForValidationDto.SortCode.Replace("-", "").Contains(pin);

            if (bankAccountContainsPin || sortCodeContains)
            {
                return(true);
            }

            return(false);
        }
示例#2
0
        public override ValidationResult Validate()
        {
            IPinForValidationDto pinForValidationDto = ValidationContext.ObjectInstance as IPinForValidationDto;

            if (pinForValidationDto == null)
            {
                throw new Exception("Object for validation is null");
            }

            if (PinIsContainedInBankAccountOrSortCode(pinForValidationDto))
            {
                return(new ValidationResult(false, "Pin cannot be contained in bank account or sort code."));
            }

            return(new ValidationResult(true, null));
        }
        public override ValidationResult Validate()
        {
            IPinForValidationDto pinForValidationDto = ValidationContext.ObjectInstance as IPinForValidationDto;

            if (pinForValidationDto == null)
            {
                throw new Exception("Object for validation is null");
            }

            if (pinForValidationDto.PastPins.Contains(pinForValidationDto.Pin))
            {
                return(new ValidationResult(false, "Pin has already been used in the past."));
            }

            return(new ValidationResult(true, null));
        }
        public override ValidationResult Validate()
        {
            IPinForValidationDto pinForValidationDto = ValidationContext.ObjectInstance as IPinForValidationDto;

            if (pinForValidationDto == null)
            {
                throw new Exception("Object for validation is null");
            }

            if (pinForValidationDto.Pin.ToString().Length != 4)
            {
                return(new ValidationResult(false, "Pin is not 4 digits long."));
            }

            return(new ValidationResult(true, null));
        }
示例#5
0
        public override ValidationResult Validate()
        {
            IPinForValidationDto pinForValidationDto = ValidationContext.ObjectInstance as IPinForValidationDto;

            if (pinForValidationDto == null)
            {
                throw new Exception("Object for validation is null");
            }

            int[] pinDigits = pinForValidationDto.Pin.Select(ch => ch - '0').ToArray();

            if (MoreThanTwoConsecutive(pinDigits))
            {
                return(new ValidationResult(false, "Pin contains more than two consecutive numbers."));
            }

            return(new ValidationResult(true, null));
        }
示例#6
0
        public override ValidationResult Validate()
        {
            IPinForValidationDto pinForValidationDto = ValidationContext.ObjectInstance as IPinForValidationDto;

            if (pinForValidationDto == null)
            {
                throw new Exception("Object for validation is null");
            }

            int[] pinDigits = StringDigitsToIntArrayConverter.GetDigits(pinForValidationDto.Pin);

            if (PinIs0011(pinDigits))
            {
                return(new ValidationResult(false, "Pin cannot be 0011."));
            }

            return(new ValidationResult(true, null));
        }
        public override ValidationResult Validate()
        {
            IPinForValidationDto pinForValidationDto = ValidationContext.ObjectInstance as IPinForValidationDto;

            if (pinForValidationDto == null)
            {
                throw new Exception("Object for validation is null");
            }

            int[] pinDigits = StringDigitsToIntArrayConverter.GetDigits(pinForValidationDto.Pin);

            if (IsCompleteConsecutiveNumberSequence(pinDigits))
            {
                return(new ValidationResult(false, "Pin in invalid. It is complete sequencial"));
            }


            return(new ValidationResult(true, null));
        }