public Save ( OurUmbraco.Forum.Models.Comment comment, bool updateTopicPostCount = true ) : OurUmbraco.Forum.Models.Comment | ||
comment | OurUmbraco.Forum.Models.Comment | |
updateTopicPostCount | bool | |
return | OurUmbraco.Forum.Models.Comment |
public int ApproveMember(int id) { if (Members.IsAdmin() == false) throw new Exception("You cannot approve this member"); var memberService = UmbracoContext.Application.Services.MemberService; var member = memberService.GetById(id); if (member == null) throw new Exception("Member not found"); var minimumKarma = 71; if (member.GetValue<int>("reputationCurrent") < minimumKarma) { member.SetValue("reputationCurrent", minimumKarma); member.SetValue("reputationTotal", minimumKarma); memberService.Save(member); } var rolesForUser = Roles.GetRolesForUser(member.Username); if(rolesForUser.Contains("potentialspam")) memberService.DissociateRole(member.Id, "potentialspam"); if(rolesForUser.Contains("newaccount")) memberService.DissociateRole(member.Id, "newaccount"); var topicService = new TopicService(ApplicationContext.Current.DatabaseContext); var commentService = new CommentService(ApplicationContext.Current.DatabaseContext, topicService); var comments = commentService.GetAllCommentsForMember(member.Id); foreach (var comment in comments) { if (comment.IsSpam) { comment.IsSpam = false; commentService.Save(comment); } } var topics = topicService.GetLatestTopicsForMember(member.Id, false, 100); foreach (var topic in topics) { if (topic.IsSpam) { topic.IsSpam = false; topicService.Save(topic); } } return minimumKarma; }
public int ApproveMember(int id) { if (Members.IsAdmin() == false) throw new Exception("You cannot approve this member"); var memberService = UmbracoContext.Application.Services.MemberService; var member = memberService.GetById(id); if (member == null) throw new Exception("Member not found"); var minimumKarma = 71; if (member.GetValue<int>("reputationCurrent") < minimumKarma) { member.SetValue("reputationCurrent", minimumKarma); member.SetValue("reputationTotal", minimumKarma); memberService.Save(member); } var rolesForUser = Roles.GetRolesForUser(member.Username); if(rolesForUser.Contains("potentialspam")) memberService.DissociateRole(member.Id, "potentialspam"); if(rolesForUser.Contains("newaccount")) memberService.DissociateRole(member.Id, "newaccount"); var topicService = new TopicService(ApplicationContext.Current.DatabaseContext); var commentService = new CommentService(ApplicationContext.Current.DatabaseContext, topicService); var comments = commentService.GetAllCommentsForMember(member.Id); foreach (var comment in comments) { if (comment.IsSpam) { comment.IsSpam = false; commentService.Save(comment); var topic = topicService.GetById(comment.TopicId); var topicUrl = topic.GetUrl(); var commentUrl = string.Format("{0}#comment-{1}", topicUrl, comment.Id); var memberName = member.Name; commentService.SendNotifications(comment, memberName, commentUrl); } } var topics = topicService.GetLatestTopicsForMember(member.Id, false, 100); foreach (var topic in topics) { if (topic.IsSpam) { topic.IsSpam = false; topicService.Save(topic); topicService.SendNotifications(topic, member.Name, topic.GetUrl()); } } var newForumTopicNotification = new NotificationsCore.Notifications.AccountApproved(); newForumTopicNotification.SendNotification(member.Email); SendSlackNotification(BuildBlockedNotifactionPost(Members.GetCurrentMember().Name, member.Id, false)); return minimumKarma; }