コード例 #1
0
        public static void Aggiungi()
        {
            //Prendo i dati dell'agente dall'utente a console
            Console.WriteLine("Aggiungo un nuovo agente!\nNome?");
            string nome = Console.ReadLine();

            Console.WriteLine("Cognome?");
            string cognome = Console.ReadLine();

            Console.WriteLine("Codice Fiscale? ");
            string codiceFiscale = "";
            bool   ok            = false;

            while (ok == false) //Controllo sulla lunghezza del codice fiscale
            {
                codiceFiscale = Console.ReadLine();
                if (codiceFiscale.Length != 16)
                {
                    Console.WriteLine("Codice Fiscale non valido.");
                }
                else
                {
                    ok = true;
                }
            }

            Console.WriteLine("Data di Nascita? ");
            DateTime dataNascita = new DateTime(); //Check sulla validità della data

            do
            {
                ok = DateTime.TryParse(Console.ReadLine(), out dataNascita);
                if (ok == false)
                {
                    Console.WriteLine("Data di Nascita non valida.");
                }
            } while (ok == false);

            Console.WriteLine("Anni di Servizio?"); //Check sulla validità dell'input come int
            int anniServizio = 0;

            do
            {
                ok = Int32.TryParse(Console.ReadLine(), out anniServizio);
                if (ok == false)
                {
                    Console.WriteLine("Inserire un numero valido.");
                }
            } while (ok == false);

            //creazione del nuovo agente con i dati in input
            Agente agente = new Agente
            {
                Nome           = nome,
                Cognome        = cognome,
                CodiceFiscale  = codiceFiscale,
                DataDiNascita  = dataNascita,
                AnniDiServizio = anniServizio
            };

            //aggiungo l'agente al database tramite la disconnected mode
            ADOMethods.AddNewAgent(agente);
            //Mostro la lista aggiornata degli agenti
            Console.WriteLine("Ecco la lista agenti aggiornata:");
            Show();
        }
コード例 #2
0
        public static bool AddNewAgent(Agente agente)
        {
            //Creo la connessione
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                //Creo un nuovo data adapter da istruire
                SqlDataAdapter adapter = new SqlDataAdapter();

                //Definisco il comando per inserire l'agente in input
                SqlCommand insert = new SqlCommand("INSERT INTO Agenti VALUES (@nome, @cognome, @codiceFiscale, @dataDiNascita, @anniDiServizio)", connection);
                insert.CommandType = System.Data.CommandType.Text;

                insert.Parameters.Add("@nome", SqlDbType.NVarChar, 255, "Nome");
                insert.Parameters.Add("@cognome", SqlDbType.NVarChar, 255, "Cognome");
                insert.Parameters.Add("@codiceFiscale", SqlDbType.NVarChar, 255, "Codice Fiscale");
                insert.Parameters.Add("@dataDiNascita", SqlDbType.Date, 31, "Data di Nascita");
                insert.Parameters.Add("@anniDiServizio", SqlDbType.Int, 100, "Anni di Servizio");

                //insert.Parameters.AddWithValue("@nome", agente.Nome);
                //insert.Parameters.AddWithValue("@cognome", agente.Cognome);
                //insert.Parameters.AddWithValue("@codiceFiscale", agente.CodiceFiscale);
                //insert.Parameters.AddWithValue("@dataDiNascita", agente.DataDiNascita);
                //insert.Parameters.AddWithValue("@anniDiServizio", agente.AnniDiServizio);

                //Definisco il comando select per riempire la tabella
                SqlCommand select = new SqlCommand("SELECT * FROM Agenti", connection);
                select.CommandType = System.Data.CommandType.Text;

                //Creo il dataset da riempire con gli Agenti e istruisco l'adapter con i nuovi comandi
                DataSet agentiData = new DataSet();
                adapter.SelectCommand = select;
                adapter.InsertCommand = insert;

                try
                {
                    //Apro la connessione e ottengo i dati per riempire la tabella. Da qui lavoro in local fino all'update finale
                    connection.Open();
                    adapter.Fill(agentiData, "Agenti");

                    //Creo una nuova riga da aggiungere alla tabella con i dati del nuovo agente da inserire
                    DataRow nuovoAgente = agentiData.Tables["Agenti"].NewRow();
                    nuovoAgente["Nome"]             = agente.Nome;
                    nuovoAgente["Cognome"]          = agente.Cognome;
                    nuovoAgente["Codice Fiscale"]   = agente.CodiceFiscale;
                    nuovoAgente["Data di Nascita"]  = agente.DataDiNascita;
                    nuovoAgente["Anni di Servizio"] = agente.AnniDiServizio;

                    //Aggiungo la riga alla tabella
                    agentiData.Tables["Agenti"].Rows.Add(nuovoAgente);

                    //Aggiorno il database attraverso l'adapter
                    adapter.Update(agentiData, "Agenti");

                    Console.WriteLine("Agente aggiunto con successo!");

                    connection.Close(); //se l'update va a buon fine chiudo la connessione prima del return

                    return(true);       //ritorna un valore positivo
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                    connection.Close(); //se ci fosse qualche errore chiudo comunque la connessione prima del return
                    return(false);
                }
            }
        }