//Autore: Giuliano Pellegrini Parisi

//Classe: 4^Inf. Sirio

//Data: 27 novembre 2008

//Oggetto: Implementazione classe Persona

//Release: 0.1

using System;

namespace Anagrafe
{
    class Persona
    {
        // Elenco Dati Membro

        private string Nome;
        private string Cognome;
        private string CodiceCittadino;
        private DateTime DataNascita;
        private string Indirizzo;
        private string CodiceFiscale;
        private string StatoFamiglia;

        // Elenco dei Costruttori con la tecnica di Cross Calling

        public Persona() // Costruttore di default
        {
        }

        public Persona(string Nome)
        {
            this.Nome = Nome;
        }

        public Persona(string Nome,string Cognome)
            :this(Nome)
        {
            this.Cognome = Cognome;
        }

        public Persona(string Nome, string Cognome, string CodiceCittadino)
            : this(Nome,Cognome)
        {
            this.CodiceCittadino= CodiceCittadino;
        }

        public Persona(string Nome, string Cognome, string CodiceCittadino,DateTime DataNascita)
            : this(Nome, Cognome,CodiceCittadino)
        {
            this.DataNascita = DataNascita;
        }

        public Persona(string Nome, string Cognome, string CodiceCittadino, DateTime DataNascita, string Indirizzo)
            : this(Nome, Cognome, CodiceCittadino,DataNascita)
        {
            this.Indirizzo = Indirizzo;
        }

        public Persona(string Nome, string Cognome, string CodiceCittadino, DateTime DataNascita,string Indirizzo,string CodiceFiscale)
            : this(Nome, Cognome, CodiceCittadino,DataNascita,Indirizzo)
        {
            this.CodiceFiscale=CodiceFiscale;
        }

        public Persona(string Nome, string Cognome, string CodiceCittadino, DateTime DataNascita, string Indirizzo, string CodiceFiscale,string StatoFamiglia)
            : this(Nome, Cognome, CodiceCittadino, DataNascita, Indirizzo, CodiceFiscale)
        {
            this.StatoFamiglia = StatoFamiglia;
        }

        public void set_Nome(string Nome)
        {
            this.Nome=Nome;
        }

        public String get_Nome()
        {
            return this.Nome;
        }

        public void set_Cognome(string Cognome)
        {
            this.Cognome = Cognome;
        }

        public String get_Cognome()
        {
            return this.Cognome;
        }

        public void set_CodiceCittadino(string CodiceCittadino)
        {
            this.CodiceCittadino = CodiceCittadino;
        }

        public string get_CodiceCittadino()
        {
            return this.CodiceCittadino;
        }

        public void set_DataNascita(DateTime DataNascita)
        {
            this.DataNascita = DataNascita;
        }

        public string get_DataNascita()
        {
            //return this.DataNascita.ToString("dd MMM yyyy");
            //return this.DataNascita.ToShortDateString(); // usa il formato dd/MM/yyyy
            //return this.DataNascita.ToShortTimeString();
            return this.DataNascita.ToString("F");

        }

        public void set_Indirizzo(string Indirizzo)
        {
            this.Indirizzo = Indirizzo;
        }

        public string get_Indirizzo()
        {
            return this.Indirizzo;
        }

        public void set_CodiceFiscale(string CodiceFiscale)
        {
            this.CodiceFiscale = CodiceFiscale;
        }

        public string get_CodiceFiscale()
        {
            return this.CodiceFiscale;
        }

        public void set_StatoFamiglia(string StatoFamiglia)
        {
            this.StatoFamiglia = StatoFamiglia;
        }

        public string get_StatoFamiglia()
        {
            return this.StatoFamiglia;
        }

        public void Stampa()
        {
            Console.WriteLine("Nome cittadino: " +  this.get_Nome() );
            Console.WriteLine("Cognome cittadino: " + this.get_Cognome() );
            Console.WriteLine("Codice cittadino: " + this.get_CodiceCittadino() );
            Console.WriteLine("Data di nascita cittadino: " + this.get_DataNascita() );
            Console.WriteLine("Indirizzo cittadino: " + this.get_Indirizzo() );
            Console.WriteLine("Codice fiscale cittadino: " + this.get_CodiceFiscale() );
            Console.WriteLine("Stato famiglia cittadino: " + this.get_StatoFamiglia() );
        }


    }

}
