private bool Validate(string code) { if (!new FiscalCodeValidator().Validate(code)) { return(false); } var tokens = code .Token(FiscalCodeTokens.Lastname, 3) .Token(FiscalCodeTokens.Firstname, 3) .Token(FiscalCodeTokens.Year, 2) .Token(FiscalCodeTokens.Month, 1) .Token(FiscalCodeTokens.Day, 2) .Token(FiscalCodeTokens.Area, 4) .Token(FiscalCodeTokens.Control, 1) .Tokens; LastName = new LastNameCode(tokens[FiscalCodeTokens.Lastname]).ToString(); FirstName = new FirstNameCode(tokens[FiscalCodeTokens.Firstname]).ToString(); AssignBirthDateAndSex(tokens); Area = new AreaCode(tokens[FiscalCodeTokens.Area]).ToString(); Control = ControlCode.GetControlCode(code.Substring(0, 15)).ToInvariant(); return(true); }
public ControlCode( LastNameCode lastNameCode, FirstNameCode firstNameCode, YearCode yearCode, MonthCode monthCode, DayCode dayCode, AreaCode areaCode) { partialCode = string.Concat(lastNameCode, firstNameCode, yearCode, monthCode, dayCode, areaCode); }
internal ControlCode( LastNameCode lastNameCode, FirstNameCode firstNameCode, YearCode yearCode, MonthCode monthCode, DayCode dayCode, AreaCode areaCode) { partialCode = string.Concat(lastNameCode, firstNameCode, yearCode, monthCode, dayCode, areaCode); }
internal FiscalCode( LastNameCode lastNameCode, FirstNameCode firstNameCode, YearCode yearCode, MonthCode monthCode, DayCode dayCode, AreaCode areaCode, ControlCode controlCode) : this( lastNameCode.ToString(), firstNameCode.ToString(), yearCode.ToString(), monthCode.ToString(), dayCode.ToString(), areaCode.ToString(), controlCode.ToString()) { }
public FiscalCode( LastNameCode lastNameCode, FirstNameCode firstNameCode, YearCode yearCode, MonthCode monthCode, DayCode dayCode, AreaCode areaCode, ControlCode controlCode) : this( lastNameCode.ToString(), firstNameCode.ToString(), yearCode.ToString(), monthCode.ToString(), dayCode.ToString(), areaCode.ToString(), controlCode.ToString()) { }
public FiscalCode Calculate(NaturalPerson naturalPerson, AreaCode 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); }
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; }