Ejemplo n.º 1
0
 public FiscalCodeValidator(FiscalCode fiscalCode, PersonalInfo person, CultureInfo targetCulture)
 {
     _fiscalCodeToValidate = fiscalCode;
     _person = person;
     _localizationProvider = new SqliteLocalizationProvider(targetCulture);
     Validate();
 }
Ejemplo n.º 2
0
        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);
                }
            }
        }
Ejemplo n.º 3
0
 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();
 }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
		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;
		}