public PeselData(IPeselDataControlSum sumCalculator, IPeselDataValidator validator) { _pesel = Enumerable.Repeat(-1, 11).ToArray(); _centuries = new Century[3]; _sumCalculator = sumCalculator; _validator = validator; }
public virtual ValidationResult Validate(string rawPesel, IPeselDataControlSum controlSumCalculator) { var result = new ValidationResult(); int[] pesel = rawPesel.Select(ch => int.Parse(ch.ToString())).ToArray(); int origSum = pesel[pesel.Length - 1]; pesel[pesel.Length - 1] = -1; controlSumCalculator.CalculateControlSum(pesel); if (origSum != pesel[pesel.Length - 1]) { result.Massages.Add(TXT.ValidationFailed); } if (!result.Massages.Any()) { result.IsValid = true; } return(result); }