private void salvataggioDatabase() { int[] idDb = new int[db.contaItem("Auto")]; db.getIds("Auto", idDb); SerializableBindingList <int> idList = new SerializableBindingList <int>(); foreach (Auto auto in bindingListVeicoli.OfType <Auto>()) { if (auto.Id == 0) { db.aggiungiRecord("Auto", auto.Marca, auto.Modello, auto.Colore, auto.Cilindrata, auto.PotenzaKw, auto.Immatricolazione, auto.IsUsato, auto.IsKmZero, auto.KmPercorsi, auto.Prezzo, auto.NumAirbag, "/"); } else { idList.Add(auto.Id); } } if (idList.Count != 0) { for (int i = 0; i < idDb.Length; i++) { bool presente = false; int j = 0; do { if (idDb[i] == idList[j]) { presente = true; } j++; } while (j != idList.Count && presente == false); if (presente == false) { db.eliminaRecord("Auto", idDb[i]); } } } else { for (int i = 0; i < idDb.Length; i++) { db.eliminaRecord("Auto", idDb[i]); } } idList.Clear(); idDb = new int[db.contaItem("Moto")]; db.getIds("Moto", idDb); foreach (Moto moto in bindingListVeicoli.OfType <Moto>()) { if (moto.Id == 0) { db.aggiungiRecord("Moto", moto.Marca, moto.Modello, moto.Colore, moto.Cilindrata, moto.PotenzaKw, moto.Immatricolazione, moto.IsUsato, moto.IsKmZero, moto.KmPercorsi, moto.Prezzo, 0, moto.MarcaSella); } else { idList.Add(moto.Id); } } if (idList.Count != 0) { for (int i = 0; i < idList.Count; i++) { bool presente = false; int j = 0; do { if (idList[i] == idDb[j]) { presente = true; } j++; } while (j != idDb.Length && presente == false); if (presente == false) { db.eliminaRecord("Moto", idList[i]); } } } else { for (int i = 0; i < idDb.Length; i++) { db.eliminaRecord("Moto", idDb[i]); } } modificato = false; bindingListVeicoli.Clear(); CaricaDati(); MessageBox.Show("Dati salvati correttamente"); }
static void Main(string[] args) { string[] newItem = new string[11]; string[] listaVeicoli; string airbag; string nomeTab; int intParse; double douParse; char scelta; do { menu(); Console.Write(" DIGITA LA TUA SCELTA: "); scelta = Console.ReadKey().KeyChar; switch (scelta) { case '1': nomeTab = sceltaTabella(); db.creaTabella(nomeTab); Console.WriteLine("Tabella creata correttamente"); Console.ReadKey(); break; case '2': nomeTab = sceltaTabella(); for (int i = 0; i < campi.Length; i++) { if (i == 3 || i == 8) { do { Console.Write($"Inserisci {campi[i]}: "); } while (!int.TryParse(Console.ReadLine(), out intParse)); newItem[i] = intParse.ToString(); } else if (i == 4 || i == 9) { do { Console.Write($"Inserisci {campi[i]}: "); } while (!double.TryParse(Console.ReadLine(), out douParse)); newItem[i] = douParse.ToString(); } else { Console.Write($"Inserisci {campi[i]}: "); newItem[i] = Console.ReadLine(); } } if (nomeTab == "Auto") { Console.Write("Inserisci il numero di airbag: "); airbag = Console.ReadLine(); newItem[10] = "/"; } else { Console.Write("Inserisci la marca della sella: "); newItem[10] = Console.ReadLine(); airbag = "0"; } newItem[newItem.Length - 1] = Console.ReadLine(); db.aggiungiRecord(nomeTab, newItem[0], newItem[1], newItem[2], Convert.ToInt32(newItem[3]), Convert.ToDouble(newItem[4]), Convert.ToDateTime(newItem[5]), newItem[6] == "Si"? true:false, newItem[7] == "Si" ? true : false, Convert.ToInt32(newItem[8]), Convert.ToDouble(newItem[9]), Convert.ToInt32(airbag), newItem[10]); Console.WriteLine(nomeTab + " aggiunta correttamente"); Console.ReadKey(); break; case '3': nomeTab = sceltaTabella(); listaVeicoli = new string[db.contaItem(nomeTab)]; stampaVeicoli(nomeTab, listaVeicoli); Console.ReadKey(); break; case '4': nomeTab = sceltaTabella(); listaVeicoli = new string[db.contaItem(nomeTab)]; stampaVeicoli(nomeTab, listaVeicoli); do { Console.Write("Inserisci il numero del veicolo che desideri eliminare: "); } while (!int.TryParse(Console.ReadLine(), out intParse)); db.eliminaRecord(nomeTab, Convert.ToInt32(listaVeicoli[intParse - 1].Split('-')[1])); //prendo L'id nascosto all'interno della stringa Console.WriteLine(nomeTab + " eliminata correttamente"); Console.ReadKey(); break; case '5': nomeTab = sceltaTabella(); db.eliminaTabella(nomeTab); Console.WriteLine("Tabella eliminata correttamente"); Console.ReadKey(); break; default: break; } } while (scelta != 'X' && scelta != 'x'); }