public FiscalCodeValidator(FiscalCode fiscalCode, PersonalInfo person, CultureInfo targetCulture) { _fiscalCodeToValidate = fiscalCode; _person = person; _localizationProvider = new SqliteLocalizationProvider(targetCulture); Validate(); }
private void CalculateFiscalCodes() { string initialFiscalCode = CalculateSurnameTriplet() + CalculateNameTriplet() + CalculateYearRepresentation() + MapMonthToRepresentation() + CalculateDayRepresentation() + GetPlaceCode(); char initialCheckDigit = CalculateCheckDigit(initialFiscalCode); FiscalCode firstFiscalCode = new FiscalCode(CalculateSurnameTriplet(), CalculateNameTriplet(), CalculateYearRepresentation(), MapMonthToRepresentation(), CalculateDayRepresentation(), GetPlaceCode(), initialCheckDigit); FiscalCodes.Add(firstFiscalCode); foreach (var letter in initialFiscalCode) { if (char.IsDigit(letter)) { initialFiscalCode = initialFiscalCode.Replace(letter, Utils.CommonDataStructures.OmocodeSubstitutions[letter], 1); char cd = CalculateCheckDigit(initialFiscalCode); var surnameTriplet = initialFiscalCode.Substring(0, 3); var nameTriplet = initialFiscalCode.Substring(3, 3); var yearRepr = initialFiscalCode.Substring(6, 2); var monthRepr = initialFiscalCode.Substring(8, 1); var dayRepr = initialFiscalCode.Substring(9, 2); var code = initialFiscalCode.Substring(11, 4); var newModel = new FiscalCode(surnameTriplet, nameTriplet, yearRepr, monthRepr, dayRepr, code, cd); FiscalCodes.Add(newModel); } } }
public FiscalCodeValidator(string fiscalCodeToValidate, PersonalInfo person, CultureInfo targetCulture) { _fiscalCodeToValidate = new FiscalCode(fiscalCodeToValidate); _person = person; _generator = new FiscalCodeGenerator(_person); ValidationResults = new List <FiscalCodeValidationResult>(); _localizationProvider = new SqliteLocalizationProvider(targetCulture); Validate(); }
public void LocalizationTest() { FiscalCode fc = new FiscalCode("DMCNRL90E03B202A"); var person = new PersonalInfo("Andrea Luciano", "Damico", Gender.Male, new DateTime(1990, 5, 3), "BRONTE"); FiscalCodeValidator validator = new FiscalCodeValidator(fc.ToString(), person, new CultureInfo("it-IT")); Assert.True(validator.ValidationResults.Count == 8); }
public FiscalCode Calculate(NaturalPerson naturalPerson, AreaCode areaCode) { Enforce.Argument(() => areaCode); var lastName = new LastNameCode(naturalPerson.LastName.Replace(" ", null)); var firstName = new FirstNameCode(naturalPerson.FirstName.Replace(" ", null)); var year = new YearCode(naturalPerson.BirthDate); var month = new MonthCode(naturalPerson.BirthDate); var day = new DayCode(naturalPerson.BirthDate, naturalPerson.Sex); var control = new ControlCode(lastName, firstName, year, month, day, areaCode); var fiscalCode = new FiscalCode(lastName, firstName, year, month, day, areaCode, control); return fiscalCode; }