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); }
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)); }
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)); }
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)); }