示例#1
0
 // default ctor
 public CCodiceFiscale()
 {
     CFMembers = new CFDataMembers();
 }
示例#2
0
        private string CalcCF(CFDataMembers cf)
        {
            string codice_completo = "";



            try
            {
                //Inizializza le tabelle
                EvenTable  = new Dictionary <string, string>();
                OddTable   = new Dictionary <string, string>();
                RestsTable = new Dictionary <string, string>();


                InitializeTables();


                int mm = cf.DataDiNascita.Month;


                cognome = cf.Cognome.ToArray();
                nome    = cf.Nome.ToArray();

                //Controlla il giorno se sex è F o se è ad una sola cifra (<=9)
                string dayBorn     = "0";
                int    dayIfFemale = 0;

                if (cf.Sesso.Equals("F"))
                {
                    dayIfFemale = 40 + cf.DataDiNascita.Day;
                }
                else
                {
                    dayIfFemale = cf.DataDiNascita.Day;
                }

                if (dayIfFemale <= 9)
                {
                    dayBorn += dayIfFemale.ToString();
                }
                else
                {
                    dayBorn = dayIfFemale.ToString();
                }



                string code = SetCognome(cognome).ToUpper() +
                              SetNome(nome).ToUpper() +
                              cf.DataDiNascita.Year.ToString().Substring(cf.DataDiNascita.Year.ToString().Length - 2, 2) +
                              GetMonthCode(cf.DataDiNascita.Month.ToString()) +
                              dayBorn;



                code += cf.CodiceISTATComune;


                //Check carattere di controllo
                string ctrlChar = ControlCode(code);
                code += ctrlChar;



                //Free memory
                EvenTable.Clear();
                OddTable.Clear();
                RestsTable.Clear();

                EvenTable  = null;
                OddTable   = null;
                RestsTable = null;



                codice_completo = code;
            }
            catch
            {
                codice_completo = "Error!";
            }



            return(codice_completo);
        }
示例#3
0
 public BeforeCalculateEventArgs()
 {
     CFData = new CFDataMembers();
 }