public IActionResult Detail(int id)
        {
            Annonce annonce = Annonce.GetAnnonceById(id);

            annonce.Image     = $"{Request.Scheme}://{Request.Host.Value}/{annonce.Image}";
            ViewBag.isFavoris = LookForFavoris(id);
            return(View(annonce));
        }
        public IActionResult AddToFavoris(int id)
        {
            string         jsonFavoris = HttpContext.Session.GetString("favoris");
            List <Annonce> favoris     = (jsonFavoris != null) ? JsonConvert.DeserializeObject <List <Annonce> >(jsonFavoris) : new List <Annonce>();

            if (!LookForFavoris(id))
            {
                favoris.Add(Annonce.GetAnnonceById(id));
                HttpContext.Session.SetString("favoris", JsonConvert.SerializeObject(favoris));
                return(Ok(new { error = false, message = "Annonce ajoutée" }));
            }
            else
            {
                return(Ok(new { error = true, message = "Annonce déja en favoris" }));
            }
        }
        public IActionResult PostAnnonce(Annonce annonce, IFormFile imageAnnonce, int?idAnnonce)
        {
            if (idAnnonce == null)
            {
                if (imageAnnonce != null)
                {
                    //Chaine unique pour avoir un nom unique pour chaque image
                    string img = Guid.NewGuid().ToString() + "-" + imageAnnonce.FileName;
                    //string pathToUpload = _env.WebRootPath + @"\images\" + random + "-" + imageAnnonce.FileName;
                    string     pathToUpload = Path.Combine(_env.WebRootPath, "images", img);
                    FileStream stream       = System.IO.File.Create(pathToUpload);
                    imageAnnonce.CopyTo(stream);
                    stream.Close();
                    annonce.Image = "images/" + img;
                }
                else
                {
                    annonce.Image = "images/default.png";
                }

                if (annonce.Save())
                {
                    return(RedirectToAction("Index"));
                }
                else
                {
                    ViewBag.message   = "Erreur serveur";
                    ViewBag.Categorie = Enum.GetValues(typeof(Categorie));
                    return(View("FormulaireAnnonce"));
                }
            }
            else
            {
                Annonce annonceEdit = Annonce.GetAnnonceById((int)idAnnonce);
                if (imageAnnonce != null)
                {
                    //Chaine unique pour avoir un nom unique pour chaque image
                    string img = Guid.NewGuid().ToString() + "-" + imageAnnonce.FileName;
                    //string pathToUpload = _env.WebRootPath + @"\images\" + random + "-" + imageAnnonce.FileName;
                    string     pathToUpload = Path.Combine(_env.WebRootPath, "images", img);
                    FileStream stream       = System.IO.File.Create(pathToUpload);
                    imageAnnonce.CopyTo(stream);
                    stream.Close();
                    annonceEdit.Image = "images/" + img;
                }
                annonceEdit.Titre       = annonce.Titre;
                annonceEdit.Description = annonce.Description;
                annonceEdit.Prix        = annonce.Prix;
                annonceEdit.Categorie   = annonce.Categorie;
                if (annonceEdit.Update())
                {
                    return(RedirectToAction("Index"));
                }
                else
                {
                    ViewBag.message   = "Erreur serveur";
                    ViewBag.Categorie = Enum.GetValues(typeof(Categorie));
                    return(View("FormulaireAnnonce"));
                }
            }
        }
 public IActionResult EditAnnonce(int id)
 {
     ViewBag.Categorie = Enum.GetValues(typeof(Categorie));
     return(View("FormulaireAnnonce", Annonce.GetAnnonceById(id)));
 }