void TopicService_Created(object sender, TopicEventArgs e) { if (e.Topic != null && e.Topic.MemberId > 0) { var ms = ApplicationContext.Current.Services.MemberService; var member = ms.GetById(e.Topic.MemberId); member.IncreaseForumPostCount(); ms.Save(member); Action a = new Action("NewTopic"); a.Perform(member.Id, e.Topic.Id, "New topic created"); } }
void TopicService_Updated(object sender, TopicEventArgs e) { var indexer = (SimpleDataIndexer)ExamineManager.Instance.IndexProviderCollection["ForumIndexer"]; if (e.Topic.IsSpam) { indexer.DeleteFromIndex(e.Topic.Id.ToString()); } else { var dataSet = ((ForumDataService)indexer.DataService).CreateNewDocument(e.Topic.Id); var xml = dataSet.RowData.ToExamineXml(dataSet.NodeDefinition.NodeId, dataSet.NodeDefinition.Type); indexer.ReIndexNode(xml, "forum"); } }
void TopicService_Created(object sender, TopicEventArgs e) { var ns = new NotificationService(ApplicationContext.Current.DatabaseContext); ns.SubscribeToForumTopic(e.Topic.Id, e.Topic.MemberId); //send notification InstantNotification not = new InstantNotification(); //data for notification: var membershipHelper = new MembershipHelper(Umbraco.Web.UmbracoContext.Current); var member = membershipHelper.GetById(e.Topic.MemberId); var memberName = string.Empty; if (member != null) memberName = member.Name; not.Invoke(Config.ConfigurationFile, Config.AssemblyDir, "NewTopic", e.Topic, e.Topic.GetUrl(), memberName); }
void TopicService_Deleted(object sender, TopicEventArgs e) { var indexer = (SimpleDataIndexer)ExamineManager.Instance.IndexProviderCollection["ForumIndexer"]; indexer.DeleteFromIndex(e.Topic.Id.ToString()); }