Codice fiscale in C# 2005

giovedì 21 settembre 2006 - 13.36

Shadow Profilo | Junior Member

Buongiorno a tutti!

Domanda semplice semplice: dove posso trovare un modulo in C# 2005 che esegua il calcolo del codice fiscale? Sarebbe un pò urgente...

Grazie a tutti e buona giornata.
Shadow

MarKonE Profilo | Guru

>Buongiorno a tutti!

Ciao

>Domanda semplice semplice: dove posso trovare un modulo in C#
>2005 che esegua il calcolo del codice fiscale? Sarebbe un pò
>urgente...

Vedi qui : http://community.visual-basic.it/lucianob/articles/2234.aspx

Qui il codice per il controllo formale della correttezza :
http://community.visual-basic.it/lucianob/archive/2004/11/15/1102.aspx

>Grazie a tutti e buona giornata.

Grazie a Cteniza

Ciao

My Blog... http://blogs.dotnethell.it/Mark/

Shadow Profilo | Junior Member

Il codice che ho trovato in quei link si riferisce, mi pare di vedere, ad un controllo formale di correttezza per un CF già inserito, io dovrei avere un modulo che lo calcola date le informazioni di partenza. Grazie anche a Cteniza, siete sempre gentilissimi!
Shadow

MarKonE Profilo | Guru

>Il codice che ho trovato in quei link si riferisce, mi pare di
>vedere, ad un controllo formale di correttezza per un CF già
>inserito, io dovrei avere un modulo che lo calcola date le informazioni
>di partenza.

Hai ragione, chiedo scusa.
Magari il buon David può darti una mano ?
http://www.dotnethell.it/articles/CalcoloCodiceFiscale.aspx



>Grazie anche a Cteniza, siete sempre gentilissimi!
>Shadow

Ciao
My Blog... http://blogs.dotnethell.it/Mark/

Shadow Profilo | Junior Member

Grazie, ma non è quello che mi serviva.. io ho bisogno di un codice in C# 2005 che calcoli il codice fiscale, tutto qui. Ti ringrazio per la risposta comunque, non riesco proprio a trovare qualcosa che faccia al caso mio e sarebbe un pò urgente. Grazie ancora, se riesci a trovare quello che mi serve mi fai un regalo!
Shadow

blood Profilo | Senior Member

secondo me comunque facevi prima a costruirtela per il tempo che aspettavi qui risposta hihihi

comunque sia eccoti la tua classe allegata (non l'ho fatta io, l'ho provata e funziona, ma non assicuro nulla)
---------------
Piscopo Paolo

:: wD @ IRCnet :: .NET wannabe 8-)

Shadow Profilo | Junior Member

Non ricordo se già ve l'ho detto, comunque mi ripeto... Siete insostituibili!
Shadow

eardizzo Profilo | Newbie

devi sol ocambiare "comuni_sql.trova_comune(comuni_res, comune);" in modo che sia una tua funzione che ritorna il codice il comune


private string calcola_codice_fiscale(string nome, string cognome, int sesso, string comune, DateTime data_di_nascita)
{
comuni_sql.trova_comune(comuni_res, comune);
if (comuni_res.Count > 0)
{
string codice_fiscale = "";
string s_tmp, consonanti, vocali;
s_tmp = consonanti = vocali = "";
nome = nome.ToUpper();
cognome = cognome.ToUpper();
nome = nome.Replace(" ", "");
nome=nome.Replace("'", "");
cognome = cognome.Replace(" ", "");
cognome=cognome.Replace("'", "");
for (int i = 0; i < cognome.Length; i++)
{
if (cognome[i] == 'A' || cognome[i] == 'E' || cognome[i] == 'I' || cognome[i] == 'O' || cognome[i] == 'U')
vocali += cognome[i];
else
consonanti += cognome[i];
}
s_tmp = consonanti + vocali + "XXX";
codice_fiscale = s_tmp.Substring(0, 3);
consonanti = vocali = "";
for (int i = 0; i < nome.Length; i++)
{
if (nome[i] == 'A' || nome[i] == 'E' || nome[i] == 'I' || nome[i] == 'O' || nome[i] == 'U')
vocali += nome[i];
else
consonanti += nome[i];
}
if (consonanti.Length > 3)
consonanti = consonanti.Substring(0, 3);
s_tmp = consonanti + vocali + "XXX";
codice_fiscale += s_tmp.Substring(0, 3);
codice_fiscale += data_di_nascita.Year.ToString().Substring(2, 2);
s_tmp = "ABCDEHLMPRST";
codice_fiscale += s_tmp[data_di_nascita.Month - 1];
if (sesso == 0)
codice_fiscale += data_di_nascita.Day.ToString("00");
else
{
int giorno = data_di_nascita.Day + 40;
codice_fiscale += giorno.ToString("00");
}
codice_fiscale += comuni_res[0].codice;
string controllo_pari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
string controllo_dispari = "BAKPLCQDREVOSFTGUHMINJWZYX";
string controllo_numeri_dispari = "10xxx2x3x4xxx5x6x7x8x9";
string controllo_numeri_pari = "0123456789";
int totale_controllo = 0;
int x;
for (int i = 1; i < 15; i += 2)
{
x = controllo_pari.IndexOf(codice_fiscale[i]);
if (x != -1)
totale_controllo += x;
else
totale_controllo += controllo_numeri_pari.IndexOf(codice_fiscale[i]);
}
for (int i = 0; i < 15; i += 2)
{
x = controllo_dispari.IndexOf(codice_fiscale[i]);
if (x != -1)
totale_controllo += x;
else
totale_controllo += controllo_numeri_dispari.IndexOf(codice_fiscale[i]);
}
codice_fiscale += controllo_pari[totale_controllo % 26];

return codice_fiscale;
}
else
MessageBox.Show("comune non trovato");
return "";
}
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5