コード例 #1
0
        }   //COSTRUTTORE FORM: INIZIALIZZA TUTTE LE STRUTTURE DATI NECESSARIE

        public void FormMain_Load(object sender, EventArgs e)
        {
            //RESET SCHERMATA
            this.pnlMain.Controls.Clear();
            this.tMain.Select();
            string logoPath = File.ReadAllText(Path.Combine(Properties.Resources.FILES_PATH, "LogoPath.txt"));

            if (logoPath != "")
            {
                this.logoToolStripLabel.BackgroundImage = Image.FromFile(logoPath);
            }
            this.logoToolStripLabel.BackgroundImageLayout = ImageLayout.Zoom;
            listaVeicoliEliminati.Clear();
            listaVeicoliAggiunti.Clear();
            listaVeicoli.Clear();

            try
            {
                listaVeicoli = vc.GetVeicoliList(vc.GetRows(connString));
            }
            catch (OleDbException) {
                MessageBox.Show("Il database deve essere ancora creato, chiedi all'amministratore di inizializzare il db!", Properties.Resources.PROGRAM_NAME, MessageBoxButtons.OK, MessageBoxIcon.Error);
                this.Close();
            }

            foreach (var item in listaVeicoli)
            {//CREO LE CARTE GRAFICHE
                var c = new Card(item);
                this.pnlMain.Controls.Add(c);
                c.CardDeleted      += Handler_CardDeleted;
                c.CardShowed       += Handler_CardShowed;
                c.ImmagineCambiata += Handler_ImageUpdate;
            }
        }//FORM LOAD
コード例 #2
0
 private void FormMain_Load(object sender, EventArgs e)
 {
     BindingListVeicoli.Clear();
     dgvVeicoli.DataSource = null;
     caricaDatiDiTest(); // TRADIZIONALE
     
     // A causa del provider, non mi permette alla connessione al database, il quale il motivo non so ancora, dopo aver consultato con alcuni.
     //UtilsDatabase.CreaTabella("Veicoli");
     //CaricaDati(); //TRAMITE IL DATABASE
 }
コード例 #3
0
        public static string datapass(string connectionStr, SerializableBindingList <veicolo> listveicolo, int[] iDs)
        {
            try
            {
                if (connectionStr != null)
                {
                    OleDbConnection connection = new OleDbConnection(connectionStr);
                    using (connection)
                    {
                        connection.Open();
                        OleDbCommand    command = new OleDbCommand("SELECT * FROM veicoli", connection);
                        OleDbDataReader reader  = command.ExecuteReader();

                        listveicolo.Clear();
                        Array.Clear(iDs, 0, iDs.Length);
                        if (reader.HasRows)
                        {
                            int i = 0;
                            while (reader.Read())
                            {
                                if (reader.GetString(1) == "auto")
                                {
                                    iDs[i] = reader.GetInt32(0);
                                    listveicolo.Add(new auto(reader.GetString(2), reader.GetString(3), reader.GetInt32(4), reader.GetDouble(5), reader.GetDateTime(6), reader.GetInt32(7), reader.GetString(8), reader.GetString(9) == "SI" ? true : false, reader.GetString(10) == "SI" ? true : false, reader.GetInt32(12), reader.GetString(11)));
                                }
                                else
                                {
                                    iDs[i] = reader.GetInt32(0);
                                    listveicolo.Add(new moto(reader.GetString(2), reader.GetString(3), reader.GetInt32(4), reader.GetDouble(5), reader.GetDateTime(6), reader.GetInt32(7), reader.GetString(8), reader.GetString(9) == "SI" ? true : false, reader.GetString(10) == "SI" ? true : false, reader.GetInt32(12), reader.GetString(11)));
                                }
                                i++;
                                //    Marca: {reader.GetString(2)};
                                //    Modello: {reader.GetString(3)};
                                //    Cilindrata: {reader.GetInt32(4)};
                                //    Potenza(KW): {reader.GetDouble(5)};
                                //    Data Immatricolazione: {reader.GetDateTime(6).ToShortDateString()};
                                //    Chilometri percorsi: {reader.GetInt32(7)};
                                //    Colore: {reader.GetString(8)};
                                //    Usato: {reader.GetString(9)};
                                //    Km0: {reader.GetString(10)};
                                //    Informazioni: {reader.GetString(11)};
                                //    Prezzo: {reader.GetInt32(12)};
                            }
                        }
                        reader.Close();
                    }
                }
                return("DONE");
            }
            catch (Exception ex)
            {
                return("\n!!ERROR!! " + ex.Message);
            }
        }
コード例 #4
0
        public static void DeserializeJson(SerializableBindingList <Veicolo> lista, string fileName)
        {
            lista.Clear();
            string json = File.ReadAllText(fileName);

            object[] veicoli = JsonConvert.DeserializeObject <object[]>(json);
            for (int i = 0; i < veicoli.Length; i++)
            {
                Moto   moto    = new Moto();
                Auto   auto    = new Auto();
                string veicolo = veicoli[i].ToString();
                if (veicolo.Contains("MarcaSella"))
                {
                    JsonConvert.PopulateObject(veicolo, moto);
                    lista.Add(moto);
                }
                else
                {
                    JsonConvert.PopulateObject(veicolo, auto);
                    lista.Add(auto);
                }
            }
        }
コード例 #5
0
        private static void Main()
        {
            bool   created = false;
            string foo     = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), "Car-shop");
            string accessDbPath;

            if (!Directory.Exists(foo))
            {
                Directory.CreateDirectory(foo);
                File.Create(Path.Combine(foo, Properties.Resources.ACCESS_DB_NAME));
            }
            else
            {
                foo = Path.Combine(foo, Properties.Resources.ACCESS_DB_NAME);
                if (!File.Exists(foo))
                {
                    Catalog c = new Catalog();
                    c.Create($"Provider=Microsoft.Ace.Oledb.12.0;Data Source={foo};");
                    c = null;
                }
            }
            accessDbPath = foo;

            string connString = $"Provider=Microsoft.Ace.Oledb.12.0;Data Source={accessDbPath};";
            SerializableBindingList <Veicolo> listaVeicoli = new SerializableBindingList <Veicolo>();
            VeicoliCommands vc = new VeicoliCommands();

            try
            {
                listaVeicoli = vc.GetVeicoliList(vc.GetRows(connString, "SELECT * FROM Veicoli;"));
                created      = true;
            }
            catch (OleDbException e)
            {
                Console.WriteLine(e.Message);
            }
            Console.WriteLine("\n\t\t\t=== " + Properties.Resources.PROGRAM_NAME + " ===\n");
            foreach (Veicolo v in listaVeicoli)
            {
                Console.WriteLine($"{v.Targa} - {v.Marca} {v.Modello} - {v.Stato} {v.GetPrezzo()} - {v.Colore}");
            }
            string scelta;

            do
            {
                bool trovato = false;
                Console.Write("# ");
                scelta = Console.ReadLine();
                if (!created && scelta.ToUpper().Split(' ')[0] != "TCREATE")
                {
                    Console.WriteLine("\nIl database non è ancora stato creato!");
                    continue;
                }

                switch (scelta.ToUpper().Split(' ')[0])
                {
                case "EXPORT":
                {
                    string dataType;
                    string desktop = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
                    try
                    {
                        dataType = scelta.Split(' ')[1].Trim().ToUpper();
                    }
                    catch { Console.WriteLine("Sintassi comando errata!"); Console.ReadKey(); break; }
                    FileExport fe = new FileExport();
                    switch (dataType)
                    {
                    case "JSON":
                    {
                        fe.SerializeToJson(listaVeicoli, Path.Combine(desktop, "Veicoli.json"));
                        Console.WriteLine("Esportazione completata!");
                        break;
                    }

                    case "XML":
                    {
                        var f = new FileExport.SerializableBindingList <Veicolo>(listaVeicoli.ToList());
                        fe.SerializeToXml <Veicolo>(f, Path.Combine(desktop, "Veicoli.xml"));
                        Console.WriteLine("Esportazione completata!");
                        break;
                    }

                    case "EXCEL":
                    {
                        List <string[]> l = new List <string[]>();
                        foreach (var v in listaVeicoli)
                        {
                            l.Add(new string[] { v.Targa, v.Marca, v.Modello, v.Immatricolazione.ToShortDateString(), v.Stato, v.GetPrezzo() });
                        }
                        string path = Path.Combine(desktop, "Veicoli.xlsx");
                        Excel  xls  = new Excel("Veicoli", path, l, new string[] { "Targa", "Marca", "Modello", "Immatricolazione", "Stato", "Prezzo" });
                        Console.WriteLine("Il documento è pronto!");
                        break;
                    }

                    default:
                        Console.WriteLine("Formato non supportato!");
                        break;
                    }
                    break;
                }

                case "HELP":
                {
                    Console.WriteLine("\n" + File.ReadAllText(@".\Commands.txt") + "\n");
                    Console.ReadKey();
                    break;
                }

                case "VADD":
                {
                    Console.WriteLine("\t\t\t\t=== NUOVO VEICOLO ===\n");
                    Console.Write("Auto o Moto? (X per uscire)[A/M]: ");
                    string  a = Console.ReadLine().ToUpper();
                    Veicolo v;
                    if (a != "X" && (a == "A" || a == "M"))
                    {
                        if (a == "A")
                        {
                            v = new Auto();
                        }
                        else
                        {
                            v = new Moto();
                        }
                    }
                    else
                    {
                        break;
                    }
                    try
                    {
                        v.Targa            = AskToSet("Inserisci Targa (x per uscire): ");
                        v.Marca            = AskToSet("Inserisci Marca (x per uscire): ");
                        v.Modello          = AskToSet("Inserisci Modello (x per uscire): ");
                        v.Cilindrata       = Convert.ToInt32(AskToSet("Inserisci Cilindrata [cc] (x per uscire): "));
                        v.PotenzaKw        = Convert.ToInt32(AskToSet("Inserisci Potenza [Kw] (x per uscire): "));
                        v.Immatricolazione = Convert.ToDateTime(AskToSet("Inserisci Data Immatricolazione [gg/mm/aaaa] (x per uscire): "));
                        v.IsUsato          = AskToSet("Il veicolo è usato? [S/N] (x per uscire): ").ToUpper() == "S";
                        v.IsKmZero         = AskToSet("Il veicolo è Km Zero? [S/N] (x per uscire): ").ToUpper() == "S";
                        v.KmPercorsi       = v.IsUsato ? Convert.ToInt32(AskToSet("Inserisci chilometraggio [Km] (x per uscire): ")) : 0;
                        v.ImagePath        = AskToSet("Inserisci path immagine [opzionale] (x per uscire): ");
                        v.Colore           = AskToSet("Inserisci colore (x per uscire): ");
                        v.Prezzo           = Convert.ToDouble(AskToSet("Inserisci prezzo [€] (x per uscire): "));

                        if (v is Auto)
                        {
                            (v as Auto).NumeroAirBag = Convert.ToInt32(AskToSet("Inserisci numero di airbag (x per uscire): "));
                        }
                        else
                        {
                            (v as Moto).MarcaSella = AskToSet("Inserisci la marca della sella (x per uscire): ");
                        }
                        listaVeicoli.Add(v);
                        vc.Insert(v, connString);
                        Console.WriteLine("Veicolo Aggiunto!");
                        Console.ReadKey();
                    }

                    catch { }
                    break;
                }

                case "VSHOW":
                {
                    string targa;
                    try
                    {
                        targa = scelta.Split(' ')[1].Trim().ToUpper();
                    }
                    catch { Console.WriteLine("Sintassi comando errata!"); Console.ReadKey(); break; }
                    foreach (Veicolo v in listaVeicoli)
                    {
                        if (v.Targa.ToUpper() == targa)
                        {
                            string s = new string('-', 30);
                            trovato = true;
                            Console.WriteLine($"\n{v.Marca} {v.Modello}\n" + s +
                                              $"\nCilindrata: {v.Cilindrata} cc\n" + s +
                                              $"\nPotenza: {v.PotenzaKw} Kw\n" + s +
                                              $"\nImmatricolazione: {v.Immatricolazione.ToShortDateString()}\n" + s +
                                              $"\nStato: {v.Stato}\n" + s +
                                              $"\nKm Zero: {v.IsKmZero}\n" + s +
                                              $"\nChilometraggio: {v.KmPercorsi } Km\n" + s +
                                              $"\nColore: {v.Colore}\n" + s +
                                              $"\nPrezzo: {v.GetPrezzo()}\n" + s +
                                              ((v is Auto ? $"\nNumero airbag: {(v as Auto).NumeroAirBag}\n" : $"\nMarca sella: {(v as Moto).MarcaSella}\n") + s));
                            break;
                        }
                        if (!trovato)
                        {
                            Console.WriteLine("Veicolo non trovato");
                        }
                        Console.ReadKey();
                    }
                    break;
                }

                case "VEDIT":
                {
                    string targa, proprieta;
                    try
                    {
                        targa     = scelta.Split(' ')[1].Trim().ToUpper();
                        proprieta = scelta.Split(' ')[2].Trim().ToUpper();
                    }
                    catch { Console.WriteLine("Sintassi comando errata!"); Console.ReadKey(); break; }
                    if (proprieta == "TARGA")
                    {
                        Console.WriteLine("Non puoi modificare la targa!");
                        Console.ReadKey(); break;
                    }
                    foreach (Veicolo v in listaVeicoli)
                    {
                        if (v.Targa.ToUpper() == targa)
                        {
                            trovato = true;
                            try
                            {
                                Console.Write("Inserisci nuovo " + proprieta + ": ");
                                v[proprieta.Substring(0, 1) + proprieta.Substring(1).ToLower()] = Console.ReadLine();
                                vc.Update(v, connString);
                            }
                            catch { Console.WriteLine("Formato valore immesso errato!"); }
                        }
                    }
                    if (!trovato)
                    {
                        Console.WriteLine("Veicolo non trovato"); Console.ReadKey();
                    }
                    break;
                }

                case "VFIND":
                {
                    Console.Write("Inserisci: ");
                    SerializableBindingList <Veicolo> results = Veicolo.Search(Console.ReadLine(), listaVeicoli.ToList());
                    if (results.Count > 0)
                    {
                        Console.WriteLine($"\t\t\t=== RISULTATI RICERCA ===\n");
                        foreach (Veicolo v in results)
                        {
                            Console.WriteLine($"{v.Targa} - {v.Marca} {v.Modello} - {v.Stato} {v.GetPrezzo()} - {v.Colore}");
                        }
                    }
                    else
                    {
                        Console.WriteLine("Nessun risultato");
                    }
                    Console.ReadKey();
                    break;
                }

                case "VDELETE":
                {
                    string targa;
                    try
                    {
                        targa = scelta.Split(' ')[1].Trim().ToUpper();
                    }
                    catch { Console.WriteLine("Sintassi comando errata!"); Console.ReadKey(); break; }
                    foreach (Veicolo v in listaVeicoli)
                    {
                        if (v.Targa.ToUpper() == targa)
                        {
                            trovato = true;
                            Console.Write($"SEI SICURO DI VOLER ELIMINARE {v.Marca} {v.Modello} - {v.Targa} ? [S/N]: ");
                            if (Console.ReadLine().ToUpper() == "S")
                            {
                                listaVeicoli.Remove(v);
                                vc.Delete(v, connString);
                                Console.WriteLine("Veicolo eliminato");
                            }
                            break;
                        }
                    }
                    if (!trovato)
                    {
                        Console.WriteLine("Veicolo non trovato");
                    }
                    Console.ReadKey();
                    break;
                }

                case "CLEAR":
                {
                    Console.Clear();
                    break;
                }

                case "TDROP":
                {
                    Console.Write($"SEI SICURO DI VOLER ELIMINARE I DATI ? [S/N]: ");
                    if (Console.ReadLine().ToUpper() == "S")
                    {
                        try
                        {
                            vc.DropTable(connString);
                            Console.WriteLine("Database eliminato!");
                            listaVeicoli.Clear();
                            created = false;
                        }
                        catch (OleDbException e)
                        {
                            Console.WriteLine(e.Message);
                        }
                    }
                    break;
                }

                case "TSHOW":
                {
                    foreach (Veicolo v in listaVeicoli)
                    {
                        Console.WriteLine($"{v.Targa} - {v.Marca} {v.Modello} - {v.Stato} {v.GetPrezzo()} - {v.Colore}");
                    }
                    break;
                }

                case "TCREATE":
                {
                    Console.Write($"SEI SICURO DI VOLER CREARE LA TABELLA \"VEICOLI\" ? [S/N]: ");
                    if (Console.ReadLine().ToUpper() == "S")
                    {
                        try
                        {
                            vc.CreateTable(connString);
                            Console.WriteLine("Database creato!");
                            listaVeicoli = vc.GetVeicoliList(vc.GetRows(connString, "SELECT * FROM Veicoli;"));
                            created      = true;
                        }
                        catch (OleDbException e)
                        {
                            Console.WriteLine(e.Message);
                        }
                    }
                    break;
                }

                case "TDEF":
                {
                    string[] d = VeicoliDllProject.Properties.Resources.DATA_DEF.Split(',');
                    int      n = d.Length;
                    Console.WriteLine(string.Join("\n", d));
                    Console.WriteLine("N. campi: " + n);

                    break;
                }

                case "TCOUNT":
                {
                    Console.WriteLine("N. Record: " + listaVeicoli.Count);
                    break;
                }

                case "X": break;

                default:
                    break;
                }
            } while (scelta.ToUpper() != "X");
        }
コード例 #6
0
        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");
        }
コード例 #7
0
 private void Start()
 {
     ListaVeicoli.Clear();
     listUtils.OpenDBInList(ListaVeicoli, connectStr);
 }
コード例 #8
0
 /// <summary>
 /// Open the db
 /// </summary>
 private void Start()
 {
     VehicleList.Clear();
     listUtilities.OpenDBInList(VehicleList, connStr);
 }