public ActionResult Delete(FormCollection param)
        {
            string key = param["key"];
            string why = param["why"];
            string pass = param["password"];

            tdonnee = new TraitementDonnees();
            if (!tdonnee.StringIsValid(key) || !tdonnee.StringIsValid(why) || !tdonnee.StringIsValid(pass))
            {
                ViewBag.ex = "Erreur sur le passage de donnees";
                return View("~/Views/Error/Exception.cshtml");
            }

            long Id = Int64.Parse(key);

            if (Id == 0)
            {
                ViewBag.ex = "Erreur sur le passage de donnees";
                return View("~/Views/Error/Exception.cshtml");
            }

            Voiture voiture = db.Voitures.Find(Id);
            if (voiture == null)
            {
                ViewBag.err = "err1";
                return View();
            }

            tdonnee = new TraitementDonnees();
            pass = tdonnee.GetMd5(pass);

            //System.Diagnostics.Debug.WriteLine("hash password:"******"err2";
                ViewBag.op = "del";
                return View("~/Views/Voiture/PutPass.cshtml");
            }

            
        }
        public ActionResult Edite(FormCollection param)
        {
            try
            {
                string key = param["key"];
                string pass = param["password"];
                tdonnee = new TraitementDonnees();

                if (!tdonnee.StringIsValid(key))
                {
                    ViewBag.err = "err1";
                    ViewBag.op = "edit";
                    return View("~/Views/Voiture/PutPass.cshtml");
                }

                long id = Int64.Parse(key);

                if (id <= 0)
                {
                    ViewBag.Key = key;
                    ViewBag.err = "err1";
                    ViewBag.op = "edit";
                    return View("~/Views/Voiture/PutPass.cshtml");
                }

                Voiture v = db.Voitures.Find(id);
                if (v == null)
                {
                    ViewBag.Key = key;
                    ViewBag.err = "err1";
                    ViewBag.op = "edit";
                    return View("~/Views/Voiture/PutPass.cshtml");
                }

                pass = tdonnee.GetMd5(pass);
                if (v.password != pass)
                {
                    ViewBag.Key = key;
                    ViewBag.err = "err2";
                    ViewBag.op = "edit";
                    return View("~/Views/Voiture/PutPass.cshtml");
                }

                return View("~/Views/Voiture/Edit.cshtml", v);
            }
            catch (Exception e)
            {
                ViewBag.ex = "Erreur sur le passage de donnees";
                return View("~/Views/Error/Exception.cshtml");
            }
        }
        public ActionResult Create([Bind(Include = "prix, marque, Modele,ville,kilometrage,BoiteDeVitesse,carburant,"
            + "trader_name,Email,phone,color,car_shape,trader_facebook,trader_instagram,password"
            )]Voiture voiture,
            string EstNeuf="", string image1 = "", string image2 = "", string image3 = "", string image4 = ""
            , IEnumerable<HttpPostedFileBase> files = null
         )
        {
            try
            {

                tdonnee = new TraitementDonnees();
                tdate  = new Tdate();
                Voiture _voiture = new Voiture();
                

                string model = "";
                string email = "";
                string face = "";
                string insta = "";
                long prix = voiture.prix;
                string marque = voiture.marque.Trim().ToString();
                if (voiture.Modele.Trim().ToString().Length > 1)
                    model = voiture.Modele.Trim().ToString();

                string ville = voiture.ville.Trim().ToString();
                long kilometrage = voiture.kilometrage;
                string boiteDeVitesse = voiture.BoiteDeVitesse.Trim().ToString();
                string carburant = voiture.carburant.Trim().ToString();
                string tname = "";
                string color = voiture.color.Trim().ToString();
                string car_shape = setCarType(voiture.car_shape.Trim().ToString());
                string st_pass = voiture.password.Trim().ToString();
                string est_neuf = EstNeuf;
                if (!tdonnee.NumberIsValid(voiture.prix) || !tdonnee.StringIsValid(marque) ||
                    !tdonnee.StringIsValid(model) || !tdonnee.StringIsValid(est_neuf) ||
                    !tdonnee.StringIsValid(ville) || !tdonnee.NumberIsValid(kilometrage) ||
                    !tdonnee.StringIsValid(boiteDeVitesse)
                    || !tdonnee.StringIsValid(carburant)
                    || car_shape.Equals("null") || color.Equals("null")
                    || !tdonnee.StringIsValid(st_pass))
                {
                    System.Diagnostics.Debug.WriteLine("modele not valide");
                    TempData["return"] = "nook";
                    return RedirectToAction("Create");
                }


                if (tdonnee.StringIsValid(voiture.trader_name))
                    tname = voiture.trader_name.Trim().ToString();

                if (tdonnee.StringIsValid(voiture.email))
                    email = voiture.email.Trim().ToString();

                if (tdonnee.StringIsValid(voiture.trader_facebook))
                    face = voiture.trader_facebook.Trim().ToString();

                if (tdonnee.StringIsValid(voiture.trader_instagram))
                    insta = voiture.trader_instagram.Trim().ToString();

                /* Images */
                Sough.Helpers.ImagesActions.ImagesModel<Voiture>(ref _voiture, ref image1, ref image2, ref image3,
                            ref image4, ref files);

                /* P@$$W0RD */
                tdonnee.Tmd5<Voiture>(st_pass, ref _voiture);

                /* Date */
                tdate.SaveDate<Voiture>(ref _voiture);

                _voiture.prix = prix;
                _voiture.marque = marque;
                _voiture.Modele = model;
                _voiture.EstNeuf = est_neuf;
                _voiture.ville = ville;
                _voiture.kilometrage = kilometrage;
                _voiture.BoiteDeVitesse = boiteDeVitesse;
                _voiture.carburant = carburant;
                _voiture.trader_name = tname;
                _voiture.email = email;
                _voiture.color = color;
                _voiture.car_shape = car_shape;
                _voiture.trader_facebook = face;
                _voiture.trader_instagram = insta;
                string phone = voiture.phone.Trim().ToString();
                _voiture.phone = phone;


                db.Voitures.Add(_voiture);
                db.SaveChanges();
                _voiture = null;
                //Gallerie1 glr = new Gallerie1();
                //long id = _voiture.Id;
                //glr.ModelId = id;
                //glr.ModelName = "Voiture";
                //db.Gallerie1.Add(glr);

                //db.SaveChanges();

                //return View(_voiture);
                TempData["return"] = "ok";

                return RedirectToAction("Create");


            }
            catch (Exception e)
            {
                ViewBag.ex = e.Message;
                return View("~/Views/Error/Exception.cshtml");
            }
        }
        public ActionResult Edit([Bind(Include = "Id,prix, marque, Modele,ville,kilometrage,BoiteDeVitesse,carburant,"
            + "trader_name,Email,phone,color,car_shape,trader_facebook,trader_instagram,password"
            )]Voiture voiture, string EstNeuf = "")
        {

            try
            {

                tdonnee = new TraitementDonnees();

                string query = "";
                
                if (!(voiture.Id > 0))
                {
                    ViewBag.err = "err1";
                    return View();
                }

                
                tdonnee.GetQueryEdite(ref query, "trader_name", voiture.trader_name);
                tdonnee.GetQueryEdite(ref query, "email", voiture.email);
                tdonnee.GetQueryEdite(ref query, "trader_facebook", voiture.trader_facebook);
                tdonnee.GetQueryEdite(ref query, "trader_instagram", voiture.trader_instagram);
                
                if (tdonnee.StringIsValid(voiture.phone))
                {
                    tdonnee.GetQueryEdite(ref query, "phone", voiture.phone);
                }
                if (tdonnee.StringIsValid(voiture.marque))
                {
                    tdonnee.GetQueryEdite(ref query, "marque", voiture.marque);
                }
                if (tdonnee.StringIsValid(voiture.Modele))
                {
                    tdonnee.GetQueryEdite(ref query, "Modele", voiture.Modele);
                }
                if (tdonnee.StringIsValid(voiture.EstNeuf))
                {
                    tdonnee.GetQueryEdite(ref query, "EstNeuf", voiture.EstNeuf);
                }
                if (voiture.kilometrage >= 0)
                {
                    tdonnee.GetQueryEdite(ref query, "kilometrage", Convert.ToString(voiture.kilometrage));
                }
                if (tdonnee.StringIsValid(voiture.carburant))
                {
                    tdonnee.GetQueryEdite(ref query, "carburant", voiture.carburant);
                }
                if (tdonnee.StringIsValid(voiture.color))
                {
                    tdonnee.GetQueryEdite(ref query, "color", voiture.color);
                }
                if (tdonnee.StringIsValid(voiture.car_shape))
                {
                    voiture.car_shape = setCarType(voiture.car_shape.Trim().ToString());
                    tdonnee.GetQueryEdite(ref query, "car_shape", voiture.car_shape);
                }
                if (tdonnee.StringIsValid(voiture.BoiteDeVitesse))
                {
                    tdonnee.GetQueryEdite(ref query, "BoiteDeVitesse", voiture.BoiteDeVitesse);
                }                
                if (tdonnee.StringIsValid(voiture.ville))
                {
                    tdonnee.GetQueryEdite(ref query, "ville", voiture.ville);
                }
                if (voiture.prix >= 400000)
                {
                    tdonnee.GetQueryEdite(ref query, "prix", Convert.ToString(voiture.prix));
                }
                if (tdonnee.StringIsValid(voiture.password))
                {
                    tdonnee.Tmd5<Voiture>(voiture.password, ref voiture);
                    tdonnee.GetQueryEdite(ref query, "password", voiture.password);
                }
                
                string sql = "UPDATE Voitures SET " + query + " WHERE Id = " + voiture.Id +" ;";
                //System.Diagnostics.Debug.WriteLine(sql);

                db.Database.ExecuteSqlCommand(sql);
                
                db.SaveChanges();

                return RedirectToAction("ShowWare", new { id = voiture.Id });
            }
            catch (Exception e)
            {
                ViewBag.ex = e.Message;
                return View("~/Views/Error/Exception.cshtml");
            }
        }