Esempio n. 1
0
        public ActionResult Delete(int id)
        {
            var comment = commentsRepo.GetCommentWithId(id);

            if (comment == null)
            {
                throw new HttpException((int)HttpStatusCode.NotFound, "Not found!");
            }

            var commentsHelper = new CommentsHelper();

            if (!commentsHelper.CanDelete(comment, User.Identity.GetUserId(), User.IsInRole("Administrator")))
            {
                throw new HttpException((int)HttpStatusCode.Forbidden, "Forbidden!");
            }

            commentsRepo.RemoveCommentWithId(id);

            if (Request.IsAjaxRequest())
            {
                var commentsFromProjectTask = commentsRepo.GetCommentsForProjectTaskId(comment.ProjectTaskId);
                var comments = commentsHelper.CommentViewModelsFromComments(commentsFromProjectTask, User.IsInRole("Administrator"), User.Identity.GetUserId()).ToList();
                return(Json(comments, JsonRequestBehavior.AllowGet));
            }

            ViewBag.AllUsers = db.Users.ToList();
            return(View("~/Views/ProjectTasks/Details.cshtml", comment.ProjectTask));
        }