public ActionResult AddAutor(PostSettingsViewModel vm) // Ajout d'un collaborateur
        {
            IDAL dal = new DAL();

            dal.AddAutor(vm.IDpost, vm.IDauteur);
            return(RedirectToAction("Index", "Home"));
        }
        public ActionResult DeleteAutor(PostSettingsViewModel vm) // Retrait d'un collaborateur
        {
            IDAL dal = new DAL();

            if (dal.DeleteAutor(vm.IDauteur, vm.IDpost))
            {
                return(RedirectToAction("Index", "Home"));
            }
            return(View("Error"));
        }
        public ActionResult DeletePost(PostSettingsViewModel vm) // Suppression de l'image
        {
            IDAL dal = new DAL();

            if (!dal.DeletePost(vm.IDpost))
            {
                return(View("Error"));
            }
            return(RedirectToAction("Index", "Home"));
        }
        public ActionResult Settings(int?id, PostSettingsViewModel vm)  // Modification/Retrait d'un billet ou ajout/retrait d'un collaborateur
        {
            if (id == null || id < 1)
            {
                return(View("Error"));
            }
            IDAL dal  = new DAL();
            Post post = dal.GetPost((int)id);

            if (post == null)
            {
                return(View("Error"));
            }
            // On récupère les auteurs
            vm.Writers = dal.GetWritersFromPost(post.IDpost);
            // Vérification d'identité
            // L'utilisateur peut modifier le billet si 1) il en est un des auteurs, 2) si il est modérateur ou admin
            if (vm.Writers.Where(user => user.IDuser == vm.LoggedUserID).Count() > 0 || vm.LoggedUserRole == "Moderateur" || vm.LoggedUserRole == "Admin")
            {
                if (ModelState.IsValid)
                {
                    if (vm.Picture != null)
                    {
                        string FileName = System.IO.Path.GetFileName(vm.Picture.FileName);
                        string path     = System.IO.Path.Combine(Server.MapPath("~/Images/Posts"), FileName);
                        vm.Picture.SaveAs(path);
                        if (!dal.UpdatePost(vm.IDpost, vm.Title, vm.Body, Url.Content("~/Images/Posts/" + FileName), DateTime.Now))
                        {
                            return(View("Error"));
                        }
                    }
                    else
                    if (!dal.UpdatePost(vm.IDpost, vm.Title, vm.Body, DateTime.Now))
                    {
                        return(View("Error"));
                    }
                    return(Redirect("/"));
                }
                return(View(vm));
            }
            return(RedirectToAction("Index", "Login", new { Area = "Account" }));
        }