Beispiel #1
0
 /// <summary>
 /// Annullamento delle operazioni effettuate in fase di modifica
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void BtnAnnulla_Click(object sender, EventArgs e)
 {
     if (MessageBoxAction.MessageBoxWarningTriggered("Sei sicuro di voler annullare le modifiche ?") == DialogResult.OK)
     {
         Home_Load(sender, e);
     }
 }
Beispiel #2
0
        public string InsertProprietarioAnagrafica()
        {
            string query = string.Empty;

            if (!string.IsNullOrEmpty(Id.ToString()) && !string.IsNullOrEmpty(c_nome))
            {
                string insert_query = $"INSERT INTO {K_TABELLA_DB.PROPRIETARIO_ANAGRAFICA} ( " +
                                      "c_nome," +
                                      "c_cognome," +
                                      "d_data_nascita_proprietario, " +
                                      "d_data_aggiornamento_anagrafica_proprietario, " +
                                      "n_eta )" +
                                      $"VALUES('{c_nome}', ";

                StringBuilder builder = new StringBuilder(insert_query);

                if (c_cognome.Length == 0)
                {
                    builder.Append($"NULL, ");
                }
                else
                {
                    builder.Append($"'{c_cognome}', ");
                }

                if (d_data_nascita_proprietario == null)
                {
                    builder.Append("NULL, ");
                }
                else
                {
                    builder.Append($"{d_data_nascita_proprietario}, ");
                }

                builder.Append($"GETDATE(),");

                if (n_eta == 0)
                {
                    builder.Append("NULL ");
                }
                else
                {
                    builder.Append($"{n_eta} ");
                }

                builder.Append(")");

                query = builder.ToString();
            }
            else
            {
                MessageBoxAction.MessageBoxWarningTriggered("Valorizzare il nome proprietario e specificare il nome dell'animale.");
            }
            return(query);
        }
Beispiel #3
0
 /// <summary>
 /// Salvataggio delle operazioni effettuate in fase di modifica
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void BtnSalva_Click(object sender, EventArgs e)
 {
     if (MessageBoxAction.MessageBoxWarningTriggered("Sei sicuro di voler salvare le modifiche ?") == DialogResult.OK)
     {
         if (SalvaDati())
         {
             Home_Load(sender, e);
         }
         else
         {
             MessageBoxAction.MessageBoxErrorTriggered("Dati non salvati");
         }
     }
 }
Beispiel #4
0
        /// <summary>
        /// Lo scopo di questa funzione è quello di eseguire una query di select
        /// al fine di alimentare una specifica DataTable
        /// </summary>
        /// <param name="query"></param>
        /// <param name="dbConn"></param>
        /// <returns></returns>
        public DataTable SqlFillDataTableCommand(string query, SqlConnection dbConn)
        {
            DataTable table = new DataTable();

            if (CheckSqlConnection(dbConn))
            {
                SqlCommand     sql            = new SqlCommand(query, dbConn);
                SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(sql);
                sqlDataAdapter.Fill(table);
            }
            else
            {
                MessageBoxAction.MessageBoxWarningTriggered("Non è stato ottenuto alcun risultato");
            }
            return(table);
        }
Beispiel #5
0
        /// <summary>
        /// Apre una transazione e se vengono rispettate una serie di condizioni
        /// esegue la query con all'interno i parametri di animale
        /// inseriti all'interno della griglia di informazioni presente nella maschera.
        /// </summary>
        /// <returns></returns>
        private bool SalvaDati()
        {
            bool ret = false;

            connectToSql.Open();
            SqlCommand     command = connectToSql.CreateCommand();
            SqlTransaction transaction;

            transaction        = connectToSql.BeginTransaction();
            command.Connection = connectToSql;
            //Assegna la transazione al comando
            command.Transaction = transaction;

            List <Animale>      animale_list      = new List <Animale>();
            List <Proprietario> proprietario_list = new List <Proprietario>();

            //Cicla sulle righe della griglia
            foreach (DataGridViewRow row in datagridPetAnagrafica.Rows)
            {
                //Se il valore di computed non è null, e quindi ha una riga non nuova
                //procede a verificare che il valore di nome sia non null, per verificare che la riga sia valorizzata
                if (FunzioniGenerali.CheckNullField(row, "ID_PROPRIETARIO"))
                {
                    if (FunzioniGenerali.CheckNullField(row, "NOME_PROPRIETARIO") && FunzioniGenerali.CheckNullField(row, "NOME_ANIMALE"))
                    {
                        int    n;
                        string col_nome_animale      = row.Cells["NOME_ANIMALE"].Value.ToString();
                        string col_nome_proprietario = row.Cells["NOME_PROPRIETARIO"].Value.ToString();
                        bool   isNumeric             = int.TryParse(col_nome_animale, out n);
                        //Verifica che il nome non sia un campo numerico
                        if (!isNumeric)
                        {
                            isNumeric = int.TryParse(col_nome_proprietario, out n);
                            if (!isNumeric)
                            {
                                string col_soprannome_animale   = row.Cells["SOPRANNOME"].Value.ToString();
                                string col_eta_animale          = Convert.ToString(row.Cells["ETA_ANIMALE"].Value);
                                string col_cognome_proprietario = row.Cells["COGNOME_PROPRIETARIO"].Value.ToString();

                                //Inizializza un nuovo animale e ne valorizza gli attributi
                                Animale animale = new Animale();
                                animale.c_nome       = col_nome_animale;
                                animale.c_soprannome = col_soprannome_animale;

                                //Ottengo l'id proprietario dell'animale
                                animale.CheckPropAnimale();

                                //Inizializza un nuovo proprietario e ne valorizza gli attributi
                                Proprietario proprietario = new Proprietario();
                                proprietario.c_nome    = col_nome_proprietario;
                                proprietario.c_cognome = col_cognome_proprietario;

                                isNumeric = int.TryParse(col_eta_animale, out n);
                                //Verifica che l'età sia un campo numerico
                                if (isNumeric)
                                {
                                    animale.n_eta = n;
                                    animale.CalcolaEtaAnimaleAnagraficaV1();
                                }
                                animale_list.Add(animale);
                                proprietario_list.Add(proprietario);
                            }
                        }
                    }
                    else
                    {
                        MessageBoxAction.MessageBoxWarningTriggered("Non è possibile procedere senza inserire il nome animale");
                    }
                    break;
                }
            }

            try
            {
                string insert = string.Empty;
                //Aggiunge il proprietario dell'animale
                foreach (Proprietario proprietario_in_lista in proprietario_list)
                {
                    insert = proprietario_in_lista.InsertProprietarioAnagrafica();
                    if (!String.IsNullOrEmpty(insert))
                    {
                        command.CommandText = insert;
                        command.ExecuteNonQuery();
                    }
                }

                //Cicla sugli oggetti nella lista Animale
                foreach (Animale animale_in_lista in animale_list)
                {
                    //Ne ottiene il valore passandolo alla SqlInsertGenerator
                    //Che genererà la query di insert con i parametri contenuti nell'oggetto animale_in_lista
                    //La query verrà eseguita sotto transazione
                    insert = animale_in_lista.InsertAnimaleAnagrafica();
                    if (!String.IsNullOrEmpty(insert))
                    {
                        //Assegna il comando
                        command.CommandText = insert;
                        command.ExecuteNonQuery();
                    }
                }
                //esegue la commit
                transaction.Commit();
                ret = true;
            }
            catch (Exception ex)
            {
                MessageBoxAction.MessageBoxErrorTriggered(ex.Message);
                try
                {
                    transaction.Rollback();
                }
                catch (Exception exc)
                {
                    MessageBoxAction.MessageBoxErrorTriggered(exc.Message);
                }
            }
            connectToSql.Close();
            return(ret);
        }