/// <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);
                }
            }
        }
Exemple #5
0
 /// <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");
 }