예제 #1
0
        private static void AddNewVehicle(veicolo v)
        {
            if (connStr != null)
            {
                OleDbConnection con = new OleDbConnection(connStr);
                using (con)
                {
                    con.Open();

                    OleDbCommand cmd = new OleDbCommand();
                    cmd.Connection = con;

                    try
                    {
                        v.Marca            = SetFields("\nInserisci marca: ");
                        v.Modello          = SetFields("Inserisci modello: ");
                        v.Cilindrata       = Convert.ToInt32(SetFields("Inserisci cilindrata: "));
                        v.PotenzaKw        = Convert.ToDouble(SetFields("Inserisci potenza [KW]: "));
                        v.Immatricolazione = Convert.ToDateTime(SetFields("Inserisci data di immatricolazione [gg/mm/aaaa]: "));
                        v.IsUsato          = Convert.ToBoolean(SetFields("Il veicolo è usato? [Si/No] "));
                        v.IsKmZero         = Convert.ToBoolean(SetFields("Il veicolo è Km zero? [Si/No] "));
                        v.KmPercorsi       = v.IsUsato ? Convert.ToInt32(SetFields("Inserisci km percorsi: ")) : 0;
                        v.Colore           = SetFields("Inserisci colore: ");
                        v.Prezzo           = Convert.ToInt32(SetFields("Inserisci prezzo: "));

                        string query;
                        if (v is auto)
                        {
                            (v as auto).NumairBag = Convert.ToInt32(SetFields("Inserisci numero di airbag: "));
                            query = "INSERT INTO auto(marca, modello, cilindrata, potenzaKw," +
                                    "immatr, kmPercorsi, colore, isUsato, isKmZero, prezzo, nAirBag) VALUES(@marca, @modello," +
                                    "@cilindrata, @potenzaKw, @immatr, @kmPercorsi, @colore, @isUsato, @isKmZero, @prezzo, @nAirBag)";
                        }
                        else
                        {
                            (v as moto).MarcaSella = SetFields("Inserisci la marca della sella: ");
                            query = "INSERT INTO moto(marca, modello, cilindrata, potenzaKw," +
                                    "immatr, kmPercorsi, colore, isUsato, isKmZero, prezzo, mSella) VALUES(@marca, @modello," +
                                    "@cilindrata, @potenzaKw, @immatr, @kmPercorsi, @colore, @isUsato, @isKmZero, @prezzo, @mSella)";
                        }

                        cmd.CommandText = query;
                        addParameters(cmd, v);

                        cmd.Prepare();
                        cmd.ExecuteNonQuery();
                        System.Threading.Thread.Sleep(3000);

                        Console.WriteLine("\nVeicolo aggiunto correttamente!");

                        Console.ReadKey();
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message + " -- Errore durante il caricamento del veicolo!");
                    }
                }
            }
        }
예제 #2
0
        private static void addParameters(OleDbCommand cmd, veicolo v)
        {
            cmd.Parameters.Add(new OleDbParameter("@marca", OleDbType.VarChar, 255)).Value = v.Marca;
            cmd.Parameters.Add("@modello", OleDbType.VarChar, 255).Value = v.Modello;
            cmd.Parameters.Add("@cilindrata", OleDbType.Integer).Value   = v.Cilindrata;
            cmd.Parameters.Add("@potenzaKw", OleDbType.Integer).Value    = v.PotenzaKw;
            cmd.Parameters.Add("@immatr", OleDbType.Date).Value          = v.Immatricolazione;
            cmd.Parameters.Add("@kmPercorsi", OleDbType.Integer).Value   = v.KmPercorsi;
            cmd.Parameters.Add("@colore", OleDbType.VarChar, 255).Value  = v.Colore;
            cmd.Parameters.Add("@isUsato", OleDbType.Boolean).Value      = v.IsUsato;
            cmd.Parameters.Add("@isKmZero", OleDbType.Boolean).Value     = v.IsKmZero;
            cmd.Parameters.Add("@prezzo", OleDbType.Integer).Value       = v.Prezzo;

            if (v is auto)
            {
                cmd.Parameters.Add("@nAirBag", OleDbType.Integer).Value = (v as auto).NumairBag;
            }
            else
            {
                cmd.Parameters.Add("@mSella", OleDbType.VarChar, 255).Value = (v as moto).MarcaSella;
            }
        }