/// <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); } }
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); }
/// <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"); } } }
/// <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); }
/// <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); }