public Forum(int forumID) { umbraco.DataLayer.IRecordsReader dr = Data.SqlHelper.ExecuteReader("SELECT * FROM forumForums WHERE ID = @id", Data.SqlHelper.CreateParameter("@id", forumID)); if (dr.Read()) { Node n = new Node(dr.GetInt("id")); Forum f = new Forum(); Id = dr.GetInt("id"); Title = n.Name; if(n.GetProperty("forumDescription") != null) Description = n.GetProperty("forumDescription").Value; Exists = true; TotalComments = dr.GetInt("totalComments"); TotalTopics = dr.GetInt("totalTopics"); //Latest private vals _latestAuthorID = dr.GetInt("latestAuthor"); _latestCommentID = dr.GetInt("latestComment"); _latestTopicID = dr.GetInt("latestTopic"); LatestPostDate = dr.GetDateTime("latestPostDate"); } else Exists = false; dr.Close(); dr.Dispose(); }
protected void bindForum(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item) { uForum.Businesslogic.Forum f = (uForum.Businesslogic.Forum)e.Item.DataItem; Literal _title = (Literal)e.Item.FindControl("lt_titel"); Literal _desc = (Literal)e.Item.FindControl("lt_desc"); Literal _link = (Literal)e.Item.FindControl("lt_link"); _title.Text = f.Title; _desc.Text = f.Description; _link.Text = "<a href='?id=" + Request.QueryString["id"] + "&forum=" + f.Id.ToString() + "'>Edit</a>"; } }
void Forum_AfterCreate(object sender, CreateEventArgs e) { //WB added to show these events are firing... umbraco.BusinessLogic.Log.Add(umbraco.BusinessLogic.LogTypes.Debug, -1, "Forum_AfterCreate in NotificationsWeb.EventHandlers.Forum() class is starting"); //subscribe project owner to created forum uForum.Businesslogic.Forum f = (uForum.Businesslogic.Forum)sender; Node n = new Node(f.ParentId); if (n.NodeTypeAlias == "Project") { NotificationsWeb.BusinessLogic.Forum.Subscribe( f.Id, Convert.ToInt32(n.GetProperty("owner").Value)); } //WB added to show these events are firing... umbraco.BusinessLogic.Log.Add(umbraco.BusinessLogic.LogTypes.Debug, -1, "Forum_AfterCreate in NotificationsWeb.EventHandlers.Forum() class is finishing"); }
public static XPathNodeIterator ForumPager(int forumId, int itemsPerPage, int currentPage, int distance) { var xd = new XmlDocument(); var totalTopics = 0; if (forumId == 0) { totalTopics = Businesslogic.Topic.TotalTopics(); } else { var f = new uForum.Businesslogic.Forum(forumId); totalTopics = f.TotalTopics; } var pages = xmlHelper.addTextNode(xd, "pages", string.Empty); var i = 0; var p = 0; while (i < (totalTopics)) { var distanceFromCurrent = p - currentPage; if (distanceFromCurrent > -distance && distanceFromCurrent < distance) { var page = xmlHelper.addTextNode(xd, "page", string.Empty); page.Attributes.Append(xmlHelper.addAttribute(xd, "index", p.ToString())); if (p == currentPage) { page.Attributes.Append(xmlHelper.addAttribute(xd, "current", "true")); } pages.AppendChild(page); } p++; i = (i + itemsPerPage); } return(pages.CreateNavigator().Select(".")); }
public static Forum Create(int forumId, int parentId, int sortOrder) { Forum f = new Forum(); f.Id = forumId; f.ParentId = parentId; f.SortOrder = sortOrder; f.Exists = false; f.Save(); return f; }
public static List<Forum> Forums(int parentId) { List<Forum> lt = new List<Forum>(); umbraco.DataLayer.IRecordsReader dr; if (parentId > 0) { dr = Data.SqlHelper.ExecuteReader( "SELECT * FROM forumForums WHERE parentID = @parentId ORDER by sortOrder ASC", Data.SqlHelper.CreateParameter("@parentId", parentId) ); } else { dr = Data.SqlHelper.ExecuteReader( "SELECT * FROM forumForums ORDER by sortOrder ASC" ); } while (dr.Read()) { try { Node n = new Node(dr.GetInt("id")); if (n != null) { Forum f = new Forum(); f.Id = dr.GetInt("id"); f.ParentId = dr.GetInt("parentId"); f.Title = n.Name; if(n.GetProperty("forumDescription") != null) f.Description = n.GetProperty("forumDescription").Value; f.Exists = true; f.SortOrder = dr.GetInt("SortOrder"); //Latest private vals f._latestAuthorID = dr.GetInt("latestAuthor"); f._latestCommentID = dr.GetInt("latestComment"); f._latestTopicID = dr.GetInt("latestTopic"); f.LatestPostDate = dr.GetDateTime("latestPostDate"); f.TotalComments = dr.GetInt("totalComments"); f.TotalTopics = dr.GetInt("totalTopics"); lt.Add(f); } } catch(Exception ex) { Log.Add(LogTypes.Debug, -1, ex.ToString()); } } dr.Close(); dr.Dispose(); return lt; }
public void Delete() { DeleteEventArgs e = new DeleteEventArgs(); FireBeforeDelete(e); if (!e.Cancel) { Topic t = Topic.GetTopic(this.TopicId); Forum f = new Forum(t.ParentId); Data.SqlHelper.ExecuteNonQuery("DELETE FROM forumComments WHERE id = " + Id.ToString()); Id = 0; t.Save(true); f.Save(); FireAfterDelete(e); } }
public void Save() { if (Id == 0) { if (Library.Utills.IsMember(MemberId) && !string.IsNullOrEmpty(Body)) { CreateEventArgs e = new CreateEventArgs(); FireBeforeCreate(e); if (!e.Cancel) { Data.SqlHelper.ExecuteNonQuery("INSERT INTO forumComments (topicId, memberId, body, position) VALUES(@topicId, @memberId, @body, @position)", Data.SqlHelper.CreateParameter("@topicId", TopicId), Data.SqlHelper.CreateParameter("@memberId", MemberId), Data.SqlHelper.CreateParameter("@body", Body), Data.SqlHelper.CreateParameter("@position", Position) ); Created = DateTime.Now; Id = Data.SqlHelper.ExecuteScalar<int>("SELECT MAX(id) FROM forumComments WHERE memberId = @memberId", Data.SqlHelper.CreateParameter("@memberId", MemberId)); Topic t = Topic.GetTopic(TopicId); if (t.Exists) { t.Save(); } Forum f = new Forum(t.ParentId); if (f.Exists) { f.SetLatestComment(Id); f.SetLatestTopic(t.Id); f.SetLatestAuthor(MemberId); f.LatestPostDate = DateTime.Now; f.Save(); } FireAfterCreate(e); } } } else { UpdateEventArgs e = new UpdateEventArgs(); FireBeforeUpdate(e); if (!e.Cancel) { Data.SqlHelper.ExecuteNonQuery("UPDATE forumComments SET topicId = @topicId, memberId = @memberId, body = @body WHERE id = @id", Data.SqlHelper.CreateParameter("@topicId", TopicId), Data.SqlHelper.CreateParameter("@memberId", MemberId), Data.SqlHelper.CreateParameter("@body", Body), Data.SqlHelper.CreateParameter("@id", Id) ); FireAfterUpdate(e); } } }
public void MarkAsSpam() { var e = new MarkAsSpamEventArgs(); FireBeforeMarkAsSpam(e); if (e.Cancel) return; var topic = Topic.GetTopic(TopicId); var forum = new Forum(topic.ParentId); var member = new Member(MemberId); var akismetApi = Forum.GetAkismetApi(); var akismetComment = Forum.ConstructAkismetComment(member, "comment", Body); akismetApi.SubmitSpam(akismetComment); Data.SqlHelper.ExecuteNonQuery("UPDATE forumComments SET isSpam = 1 WHERE id = " + Id); Id = 0; topic.Save(true); forum.Save(); FireAfterMarkAsSpam(e); }
public static XPathNodeIterator ForumPager(int forumId, int itemsPerPage, int currentPage, int distance) { var xd = new XmlDocument(); var totalTopics = 0; if (forumId == 0) totalTopics = Businesslogic.Topic.TotalTopics(); else { var f = new uForum.Businesslogic.Forum(forumId); totalTopics = f.TotalTopics; } var pages = xmlHelper.addTextNode(xd, "pages", string.Empty); var i = 0; var p = 0; while (i < (totalTopics)) { var distanceFromCurrent = p - currentPage; if (distanceFromCurrent > -distance && distanceFromCurrent < distance) { var page = xmlHelper.addTextNode(xd, "page", string.Empty); page.Attributes.Append(xmlHelper.addAttribute(xd, "index", p.ToString())); if (p == currentPage) { page.Attributes.Append(xmlHelper.addAttribute(xd, "current", "true")); } pages.AppendChild(page); } p++; i = (i + itemsPerPage); } return pages.CreateNavigator().Select("."); }
public void MarkAsSpam() { var markAsSpamEventArgs = new MarkAsSpamEventArgs(); FireBeforeMarkAsSpam(markAsSpamEventArgs); if (markAsSpamEventArgs.Cancel) return; var forum = new Forum(ParentId); var topic = GetTopic(Id); var member = new Member(topic.MemberId); member.getProperty("blocked").Value = true; member.Save(); Data.SqlHelper.ExecuteNonQuery("UPDATE forumTopics SET isSpam = 1 WHERE id = @id", Data.SqlHelper.CreateParameter("@id", Id.ToString(CultureInfo.InvariantCulture))); Id = 0; forum.Save(); Forum.SendSpamMail(Body, Id, "topic", member.Id, true); FireAfterMarkAsSpam(markAsSpamEventArgs); }
protected void modifyForum(object sender, CommandEventArgs e) { int pId = 0; if (!string.IsNullOrEmpty(Request.QueryString["id"]) && int.TryParse(Request.QueryString["id"], out pId) && umbraco.library.IsLoggedOn()) { Member m = Member.GetCurrentMember(); Document d = new Document(pId); Document fnode = null; if (e.CommandName == "edit") { int fId = int.Parse(e.CommandArgument.ToString()); fnode = new Document(fId); } else if (e.CommandName == "create") { fnode = Document.MakeNew(tb_name.Text, DocumentType.GetByAlias("Forum"), new umbraco.BusinessLogic.User(0), d.Id); } else if (e.CommandName == "delete") { int fId = int.Parse(e.CommandArgument.ToString()); if (Document.IsDocument(fId)) { fnode = new Document(fId); } if (fnode != null) { if ((int)d.getProperty("owner").Value == m.Id && fnode.ParentId == d.Id) { fnode.delete(); //if still not dead it's because it's in the trashcan and should be deleted once more. if (fnode.ParentId == -20) { fnode.delete(); } } if (fnode.ParentId == -20) { fnode.delete(); } fnode = null; } var forum = new uForum.Businesslogic.Forum(fId); if (forum.Exists) { forum.Delete(); } } if (fnode != null && (int)d.getProperty("owner").Value == m.Id && fnode.ParentId == d.Id) { fnode.Text = tb_name.Text; fnode.getProperty("forumDescription").Value = tb_desc.Text; fnode.getProperty("forumAllowNewTopics").Value = true; fnode.Publish(new umbraco.BusinessLogic.User(0)); fnode.Save(); umbraco.library.UpdateDocumentCache(fnode.Id); } Response.Redirect(Node.GetCurrent().NiceUrl + "?id=" + pId.ToString()); } }
public void MarkAsSpam() { var e = new MarkAsSpamEventArgs(); FireBeforeMarkAsSpam(e); if (e.Cancel) return; var topic = Topic.GetTopic(TopicId); var forum = new Forum(topic.ParentId); Member member = null; try { member = new Member(topic.MemberId); } catch (Exception) { } if (member != null) { member.getProperty("blocked").Value = true; member.Save(); } Data.SqlHelper.ExecuteNonQuery("UPDATE forumComments SET isSpam = 1 WHERE id = " + Id); Id = 0; topic.Save(true, true); forum.Save(); member.getProperty("blocked").Value = true; member.Save(); Forum.SendSpamMail(Body, TopicId, "comment", member == null ? 0 : member.Id, true); FireAfterMarkAsSpam(e); }
public void Move(int newForumId) { var moveEventArgs = new MoveEventArgs(); FireBeforeMove(moveEventArgs); if (moveEventArgs.Cancel) return; var newF = new Forum(newForumId); var oldF = new Forum(ParentId); if (newF.Exists == false) return; ParentId = newForumId; Save(true); newF.Save(); oldF.Save(); FireAfterMove(moveEventArgs); }
public void MarkAsHam() { var e = new MarkAsHamEventArgs(); FireBeforeMarkAsHam(e); if (e.Cancel) return; var topic = Topic.GetTopic(TopicId); var forum = new Forum(topic.ParentId); var member = new Member(MemberId); Data.SqlHelper.ExecuteNonQuery("UPDATE forumComments SET isSpam = 0 WHERE id = " + Id); Id = 0; topic.Save(true); forum.Save(); // Set reputation to at least 50 so their next posts won't be automatically marked as spam int reputation; int.TryParse(member.getProperty("reputationTotal").Value.ToString(), out reputation); if (reputation < 50) member.getProperty("reputationTotal").Value = 50; int.TryParse(member.getProperty("reputationCurrent").Value.ToString(), out reputation); if (reputation < 50) member.getProperty("reputationCurrent").Value = 50; member.getProperty("blocked").Value = false; member.Save(); FireAfterMarkAsHam(e); }
protected void modifyForum(object sender, CommandEventArgs e) { int pId = 0; if (!string.IsNullOrEmpty(Request.QueryString["id"]) && int.TryParse(Request.QueryString["id"], out pId) && umbraco.library.IsLoggedOn()) { Member m = Member.GetCurrentMember(); Document d = new Document(pId); Document fnode = null; if (e.CommandName == "edit") { int fId = int.Parse(e.CommandArgument.ToString()); fnode = new Document(fId); } else if(e.CommandName == "create") { fnode = Document.MakeNew(tb_name.Text, DocumentType.GetByAlias("Forum"), new umbraco.BusinessLogic.User(0), d.Id); } else if(e.CommandName == "delete"){ int fId = int.Parse(e.CommandArgument.ToString()); if (Document.IsDocument(fId)) { fnode = new Document(fId); } if (fnode != null) { if ((int)d.getProperty("owner").Value == m.Id && fnode.ParentId == d.Id) { fnode.delete(); //if still not dead it's because it's in the trashcan and should be deleted once more. if (fnode.ParentId == -20) fnode.delete(); } if (fnode.ParentId == -20) fnode.delete(); fnode = null; } var forum = new uForum.Businesslogic.Forum(fId); if (forum.Exists) { forum.Delete(); } } if (fnode != null && (int)d.getProperty("owner").Value == m.Id && fnode.ParentId == d.Id) { fnode.Text = tb_name.Text; fnode.getProperty("forumDescription").Value = tb_desc.Text; fnode.getProperty("forumAllowNewTopics").Value = true; fnode.Publish(new umbraco.BusinessLogic.User(0)); fnode.Save(); umbraco.library.UpdateDocumentCache(fnode.Id); } Response.Redirect(Node.GetCurrent().NiceUrl + "?id=" + pId.ToString()); } }
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { int pId = 0; if (!string.IsNullOrEmpty(Request.QueryString["id"]) && int.TryParse(Request.QueryString["id"], out pId) && umbraco.library.IsLoggedOn()) { Member m = Member.GetCurrentMember(); Document d = new Document(pId); if ((int)d.getProperty("owner").Value == m.Id) { holder.Visible = true; rp_forums.DataSource = uForum.Businesslogic.Forum.Forums(pId); rp_forums.DataBind(); int fId = 0; if (!string.IsNullOrEmpty(Request.QueryString["forum"]) && int.TryParse(Request.QueryString["forum"], out fId)) { uForum.Businesslogic.Forum f = new Forum(fId); tb_desc.Text = f.Description; tb_name.Text = f.Title; bt_submit.CommandArgument = f.Id.ToString(); bt_delete.CommandArgument = f.Id.ToString(); bt_submit.CommandName = "edit"; ph_add.Visible = true; ph_edit.Visible = true; } else if (!string.IsNullOrEmpty(Request.QueryString["add"])) { ph_add.Visible = true; ph_edit.Visible = false; } } } } }
public void Save(bool dontMarkAsSpam) { if (Id == 0) { if (Library.Utills.IsMember(MemberId) && !string.IsNullOrEmpty(Body)) { CreateEventArgs e = new CreateEventArgs(); FireBeforeCreate(e); if (e.Cancel) { return; } Data.SqlHelper.ExecuteNonQuery("INSERT INTO forumComments (topicId, memberId, body, position, isSpam) VALUES(@topicId, @memberId, @body, @position, @isSpam)", Data.SqlHelper.CreateParameter("@topicId", TopicId), Data.SqlHelper.CreateParameter("@memberId", MemberId), Data.SqlHelper.CreateParameter("@body", Body), Data.SqlHelper.CreateParameter("@position", Position), Data.SqlHelper.CreateParameter("@isSpam", dontMarkAsSpam ? false : Forum.IsSpam(MemberId, Body, "comment")) ); Created = DateTime.Now; Id = Data.SqlHelper.ExecuteScalar <int>("SELECT MAX(id) FROM forumComments WHERE memberId = @memberId", Data.SqlHelper.CreateParameter("@memberId", MemberId)); Topic t = Topic.GetTopic(TopicId); if (t.Exists) { t.Save(); } Forum f = new Forum(t.ParentId); if (f.Exists) { f.SetLatestComment(Id); f.SetLatestTopic(t.Id); f.SetLatestAuthor(MemberId); f.LatestPostDate = DateTime.Now; f.Save(); } FireAfterCreate(e); } } else { UpdateEventArgs e = new UpdateEventArgs(); FireBeforeUpdate(e); if (!e.Cancel) { Data.SqlHelper.ExecuteNonQuery("UPDATE forumComments SET topicId = @topicId, memberId = @memberId, body = @body, isSpam = @isSpam WHERE id = @id", Data.SqlHelper.CreateParameter("@topicId", TopicId), Data.SqlHelper.CreateParameter("@memberId", MemberId), Data.SqlHelper.CreateParameter("@body", Body), Data.SqlHelper.CreateParameter("@id", Id), Data.SqlHelper.CreateParameter("@isSpam", dontMarkAsSpam ? false : Forum.IsSpam(MemberId, Body, "comment")) ); FireAfterUpdate(e); } } }
public void MarkAsSpam() { var markAsSpamEventArgs = new MarkAsSpamEventArgs(); FireBeforeMarkAsSpam(markAsSpamEventArgs); if (markAsSpamEventArgs.Cancel) return; var forum = new Forum(ParentId); var topic = GetTopic(Id); var member = new Member(topic.MemberId); var akismetApi = Forum.GetAkismetApi(); var akismetComment = Forum.ConstructAkismetComment(member, "topic", string.Format("{0} - {1}", Title, Body)); akismetApi.SubmitSpam(akismetComment); Data.SqlHelper.ExecuteNonQuery("UPDATE forumTopics SET isSpam = 1 WHERE id = @id", Data.SqlHelper.CreateParameter("@id", Id.ToString(CultureInfo.InvariantCulture))); Id = 0; forum.Save(); FireAfterMarkAsSpam(markAsSpamEventArgs); }
public void Delete() { var deleteEventArgs = new DeleteEventArgs(); FireBeforeDelete(deleteEventArgs); if (deleteEventArgs.Cancel) return; var forum = new Forum(ParentId); Data.SqlHelper.ExecuteNonQuery("DELETE FROM forumTopics WHERE id = @id", Data.SqlHelper.CreateParameter("@id", Id.ToString(CultureInfo.InvariantCulture))); Id = 0; forum.Save(); FireAfterDelete(deleteEventArgs); }
public void Move(int newForumId) { MoveEventArgs e = new MoveEventArgs(); FireBeforeMove(e); if (!e.Cancel) { Forum newF = new Forum(newForumId); Forum oldF = new Forum(ParentId); if (newF.Exists) { ParentId = newForumId; Save(true); newF.Save(); oldF.Save(); FireAfterMove(e); } } }
public void Save(bool silent) { if (Id == 0) { if (Library.Utills.IsMember(MemberId) && !string.IsNullOrEmpty(Title) && !string.IsNullOrEmpty(Body)) { var createEventArgs = new CreateEventArgs(); FireBeforeCreate(createEventArgs); if (createEventArgs.Cancel == false) { UrlName = umbraco.cms.helpers.url.FormatUrl(Title); Data.SqlHelper.ExecuteNonQuery("INSERT INTO forumTopics (parentId, memberId, title, urlName, body, latestReplyAuthor) VALUES(@parentId, @memberId, @title, @urlname, @body, @latestReplyAuthor)", Data.SqlHelper.CreateParameter("@parentId", ParentId), Data.SqlHelper.CreateParameter("@memberId", MemberId), Data.SqlHelper.CreateParameter("@title", Title), Data.SqlHelper.CreateParameter("@urlname", UrlName), Data.SqlHelper.CreateParameter("@latestReplyAuthor", LatestReplyAuthor), Data.SqlHelper.CreateParameter("@body", Body) ); Created = DateTime.Now; Updated = DateTime.Now; Id = Data.SqlHelper.ExecuteScalar<int>("SELECT MAX(id) FROM forumTopics WHERE memberId = @memberId", Data.SqlHelper.CreateParameter("@memberId", MemberId)); var forum = new Forum(ParentId); if (forum.Exists) { forum.SetLatestTopic(Id); forum.SetLatestAuthor(MemberId); forum.LatestPostDate = DateTime.Now; forum.Save(); } FireAfterCreate(createEventArgs); } } } else { var updateEventArgs = new UpdateEventArgs(); FireBeforeUpdate(updateEventArgs); if (updateEventArgs.Cancel == false) { var totalComments = Data.SqlHelper.ExecuteScalar<int>("SELECT count(id) from forumComments where topicId = @id", Data.SqlHelper.CreateParameter("@id", Id)); LatestReplyAuthor = Data.SqlHelper.ExecuteScalar<int>("SELECT TOP 1 memberId FROM forumComments WHERE (topicId= @id) ORDER BY Created DESC ", Data.SqlHelper.CreateParameter("@id", Id)); LatestComment = Data.SqlHelper.ExecuteScalar<int>("SELECT TOP 1 id FROM forumComments WHERE (topicId= @id) ORDER BY Created DESC ", Data.SqlHelper.CreateParameter("@id", Id)); UrlName = umbraco.cms.helpers.url.FormatUrl(Title); if (silent == false) Updated = DateTime.Now; Data.SqlHelper.ExecuteNonQuery("UPDATE forumTopics SET replies = @replies, parentId = @parentId, memberId = @memberId, title = @title, urlname = @urlname, body = @body, updated = @updated, locked = @locked, latestReplyAuthor = @latestReplyAuthor, latestComment = @latestComment WHERE id = @id", Data.SqlHelper.CreateParameter("@parentId", ParentId), Data.SqlHelper.CreateParameter("@memberId", MemberId), Data.SqlHelper.CreateParameter("@title", Title), Data.SqlHelper.CreateParameter("@urlname", UrlName), Data.SqlHelper.CreateParameter("@body", Body), Data.SqlHelper.CreateParameter("@id", Id), Data.SqlHelper.CreateParameter("@updated", Updated), Data.SqlHelper.CreateParameter("@latestReplyAuthor", LatestReplyAuthor), Data.SqlHelper.CreateParameter("@latestComment", LatestComment), Data.SqlHelper.CreateParameter("@locked", Locked), Data.SqlHelper.CreateParameter("@replies", totalComments) ); UpdateCommentsPosition(); FireAfterUpdate(updateEventArgs); } } }
public void MarkAsHam() { var markAsHamEventArgs = new MarkAsHamEventArgs(); FireBeforeMarkAsHam(markAsHamEventArgs); if (markAsHamEventArgs.Cancel) return; var forum = new Forum(ParentId); var topic = GetTopic(Id); var member = new Member(topic.MemberId); var akismetApi = Forum.GetAkismetApi(); var akismetComment = Forum.ConstructAkismetComment(member, "topic", string.Format("{0} - {1}", Title, Body)); akismetApi.SubmitHam(akismetComment); Data.SqlHelper.ExecuteNonQuery("UPDATE forumTopics SET isSpam = 0 WHERE id = @id", Data.SqlHelper.CreateParameter("@id", Id.ToString(CultureInfo.InvariantCulture))); Id = 0; forum.Save(); // Set reputation to at least 50 so their next posts won't be automatically marked as spam int reputation; int.TryParse(member.getProperty("reputationTotal").Value.ToString(), out reputation); if (reputation < 50) member.getProperty("reputationTotal").Value = 50; int.TryParse(member.getProperty("reputationCurrent").Value.ToString(), out reputation); if (reputation < 50) member.getProperty("reputationCurrent").Value = 50; member.Save(); FireAfterMarkAsHam(markAsHamEventArgs); }