public async Task <ActionResult> DeleteComment(int commentId) { var commentToDelete = _db.Comments.Find(commentId); if (commentToDelete != null && !commentToDelete.IsDeleted) { var commentSubverse = commentToDelete.Submission.Subverse; // delete comment if the comment author is currently logged in user if (commentToDelete.UserName == User.Identity.Name) { commentToDelete.IsDeleted = true; commentToDelete.Content = "deleted by author at " + DateTime.Now; await _db.SaveChangesAsync(); } // delete comment if delete request is issued by subverse moderator else if (UserHelper.IsUserSubverseModerator(User.Identity.Name, commentSubverse)) { // notify comment author that his comment has been deleted by a moderator MesssagingUtility.SendPrivateMessage( "Voat", commentToDelete.UserName, "Your comment has been deleted by a moderator", "Your [comment](/v/" + commentSubverse + "/comments/" + commentToDelete.SubmissionID + "/" + commentToDelete.ID + ") has been deleted by: " + "/u/" + User.Identity.Name + " on: " + DateTime.Now + " " + Environment.NewLine + "Original comment content was: " + Environment.NewLine + "---" + Environment.NewLine + commentToDelete.Content ); commentToDelete.IsDeleted = true; // move the comment to removal log var removalLog = new CommentRemovalLog { CommentID = commentToDelete.ID, Moderator = User.Identity.Name, Reason = "This feature is not yet implemented", CreationDate = DateTime.Now }; _db.CommentRemovalLogs.Add(removalLog); commentToDelete.Content = "deleted by a moderator at " + DateTime.Now; await _db.SaveChangesAsync(); } } if (Request.IsAjaxRequest()) { return(new HttpStatusCodeResult(HttpStatusCode.OK)); } var url = Request.UrlReferrer.AbsolutePath; return(Redirect(url)); }
public async Task <ActionResult> DeleteComment(int commentId) { var commentToDelete = _db.Comments.Find(commentId); if (commentToDelete != null) { var commentSubverse = commentToDelete.Message.Subverse; // delete comment if the comment author is currently logged in user if (commentToDelete.Name == User.Identity.Name) { commentToDelete.Name = "deleted"; commentToDelete.CommentContent = "deleted by author at " + DateTime.Now; await _db.SaveChangesAsync(); } // delete comment if delete request is issued by subverse moderator else if (Utils.User.IsUserSubverseAdmin(User.Identity.Name, commentSubverse) || Utils.User.IsUserSubverseModerator(User.Identity.Name, commentSubverse)) { // notify comment author that his comment has been deleted by a moderator MesssagingUtility.SendPrivateMessage( "Voat", commentToDelete.Name, "Your comment has been deleted by a moderator", "Your [comment](/v/" + commentSubverse + "/comments/" + commentToDelete.MessageId + "/" + commentToDelete.Id + ") has been deleted by: " + "/u/" + User.Identity.Name + " on: " + DateTime.Now + " " + Environment.NewLine + "Original comment content was: " + Environment.NewLine + "---" + Environment.NewLine + commentToDelete.CommentContent ); commentToDelete.Name = "deleted"; // move the comment to removal log var removalLog = new CommentRemovalLog { CommentId = commentToDelete.Id, Moderator = User.Identity.Name, ReasonForRemoval = "This feature is not yet implemented", RemovalTimestamp = DateTime.Now }; _db.CommentRemovalLogs.Add(removalLog); commentToDelete.CommentContent = "deleted by a moderator at " + DateTime.Now; await _db.SaveChangesAsync(); } } var url = Request.UrlReferrer.AbsolutePath; return(Redirect(url)); }
public async Task<ActionResult> DeleteComment(int commentId) { var commentToDelete = _db.Comments.Find(commentId); if (commentToDelete != null && !commentToDelete.IsDeleted) { var commentSubverse = commentToDelete.Submission.Subverse; // delete comment if the comment author is currently logged in user if (commentToDelete.UserName == User.Identity.Name) { commentToDelete.IsDeleted = true; commentToDelete.Content = "deleted by author at " + DateTime.Now; await _db.SaveChangesAsync(); } // delete comment if delete request is issued by subverse moderator else if (UserHelper.IsUserSubverseModerator(User.Identity.Name, commentSubverse)) { // notify comment author that his comment has been deleted by a moderator MesssagingUtility.SendPrivateMessage( "Voat", commentToDelete.UserName, "Your comment has been deleted by a moderator", "Your [comment](/v/" + commentSubverse + "/comments/" + commentToDelete.SubmissionID + "/" + commentToDelete.ID + ") has been deleted by: " + "/u/" + User.Identity.Name + " on: " + DateTime.Now + " " + Environment.NewLine + "Original comment content was: " + Environment.NewLine + "---" + Environment.NewLine + commentToDelete.Content ); commentToDelete.IsDeleted = true; // move the comment to removal log var removalLog = new CommentRemovalLog { CommentID = commentToDelete.ID, Moderator = User.Identity.Name, Reason = "This feature is not yet implemented", CreationDate = DateTime.Now }; _db.CommentRemovalLogs.Add(removalLog); commentToDelete.Content = "deleted by a moderator at " + DateTime.Now; await _db.SaveChangesAsync(); } } if (Request.IsAjaxRequest()) { return new HttpStatusCodeResult(HttpStatusCode.OK); } var url = Request.UrlReferrer.AbsolutePath; return Redirect(url); }