/// <summary> /// Dopo aver agginto il veicolo, evitando errori chiudo la form. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnAggiungi_Click(object sender, EventArgs e) { string targa = txtTarga.Text; if (Utils.checkTarga(ref targa, listaVeicoli)) { try { if (cmbTipoVeicolo.SelectedIndex == 0) { listaVeicoli.Add(new Moto(targa, txtMarca.Text, txtModello.Text, color, Convert.ToDouble(numCilindrata.Value), Convert.ToDouble(numPotenza.Value), dtpImmatricolazione.Value, rdbSiNuova.Checked, rdbSiKm0.Checked, Convert.ToInt32(numKmPercorsi.Value), txtMarcaSella.Text, Convert.ToDouble(txtPrezzo.Text), imgPath)); } else { listaVeicoli.Add(new Automobili(targa, txtMarca.Text, txtModello.Text, color, Convert.ToDouble(numCilindrata.Value), Convert.ToDouble(numPotenza.Value), dtpImmatricolazione.Value, rdbSiNuova.Checked, rdbSiKm0.Checked, Convert.ToInt32(numKmPercorsi.Value), Convert.ToInt32(numAirbag.Value), Convert.ToDouble(txtPrezzo.Text), imgPath)); } } catch (Exception) { MessageBox.Show("Impossibile inserire il veicolo.", "Autosalone Nico"); } Close(); } else { MessageBox.Show("Targa non valida. Se la macchina non è immatricolata lasciare libero il campo.", "Autosalone Nico"); } }
private static string noImgPath = Path.Combine(imgDirectoryPath, Properties.Resources.NO_Img); //Percorso del file contenente il database. #endregion pathVariables #region salvataggi /// <summary> /// Crea dei dati statici per effettuare un test delle funzionalità. /// Aggiornato: 14/12/2019. /// </summary> /// <where>Main riga:35</where> public static void caricaDatiDiTest(SerialBindList <Veicolo> listaVeicoli) { Moto m = new Moto("exp0", "Honda", "Tsunami", "Rosso", 1000, 120, DateTime.Now, false, false, 0, "Quintino", 1035); listaVeicoli.Add(m); Automobili a = new Automobili("exp1", "Jeep", "Compass", "Blue", 1600, 90, DateTime.Now, false, false, 0, 8, 1235); listaVeicoli.Add(a); }
/// <summary> /// Prende dal database tutti i veicoli appartenenti alle tabella "Moto" e gli restituisce in una lista. /// </summary> /// <param name="list">Lista passata per referenza nella quale sono contenuti i veicoli.</param> public void GetVeicolListMoto(ref SerialBindList <Veicolo> list) { if (connStr != null) { OleDbConnection con = new OleDbConnection(connStr); using (con) { try { con.Open(); OleDbCommand cmd = new OleDbCommand("SELECT * FROM Moto;", con); OleDbDataReader reader = cmd.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { float f; float.TryParse(reader[9].ToString(), out f); list.Add(new Moto(reader[0].ToString(), reader[1].ToString(), reader[2].ToString(), reader[3].ToString(), Convert.ToDouble(reader[4].ToString()), Convert.ToDouble(reader[5].ToString()), Convert.ToDateTime(reader[6].ToString()), Convert.ToBoolean(reader[7].ToString()), Convert.ToBoolean(reader[8].ToString()), f, reader[10].ToString(), Convert.ToDouble(reader[11].ToString()), reader[12].ToString())); } reader.Close(); } } catch (OleDbException exc) { Error(exc); return; } } } }
/// <summary> /// Da un file orignie ".json", carico la lista con i dati presenti nel file. /// </summary> /// <param name="listaVeicoli">Lista di destinazione degi oggetti del file ".json".</param> /// <param name="path">Path di provenienza del file ".json".</param> public static void apriSalvataggi(SerialBindList <Veicolo> listaVeicoli, string path) { string json = File.ReadAllText(path); object[] veicoli = JsonConvert.DeserializeObject <object[]>(json); for (int i = 0; i < veicoli.Length; i++) { Moto moto = new Moto(); Automobili auto = new Automobili(); string veicolo = veicoli[i].ToString(); if (veicolo.Contains("MarcaSella")) { JsonConvert.PopulateObject(veicolo, moto); listaVeicoli.Add(moto); } else { JsonConvert.PopulateObject(veicolo, auto); listaVeicoli.Add(auto); } } }
/// <summary> /// Una volta eseguiti i controlli vado eliminare il veicolo dalla lista dei veicoli, cambio i valori all'interno del veicolo e infine reinserisco /// il veicolo con i nuovi valori all'interno della lista. /// </summary> private void updateVeicolo() { listVeicoli.Remove(veicolo); veicolo.Targa = txtTarga.Text; veicolo.Cilindrata = Convert.ToDouble(txtCilindrata.Text); veicolo.Colore = colore; veicolo.ImgPath = imgPath; veicolo.Immatricolazione = dtpImmatricolazione.Value; veicolo.IsKmZero = chkKmZ.Checked; veicolo.IsUsato = chkUsato.Checked; veicolo.KmPercorsi = Convert.ToInt32(txtKmPercorsi.Text); veicolo.Marca = txtMarca.Text; veicolo.Modello = txtModello.Text; veicolo.PotenzaKw = Convert.ToDouble(txtPotenza.Text); veicolo.Prezzo = Convert.ToDouble(txtPrezzo.Text); listVeicoli.Add(veicolo); MessageBox.Show("Modifiche apportate con successo.", "Autosalone Nico"); }