示例#1
0
 private void Map_TopicWidthChanged(object sender, TopicEventArgs e)
 {
     if (!IsUpdating)
     {
         UpdateView(ChangeTypes.Layout);
     }
 }
示例#2
0
 void ClientOnTopic(object sender, TopicEventArgs e)
 {
     _events.Enqueue(new IrcEvent {
         Type = IrcEvent.EventType.Topic, Event = e
     });
     _waitHandle.Set();
 }
示例#3
0
        private static void OnTopic(object sender, TopicEventArgs e)
        {
            string message = CRCStrings.Localize("client_topic") + e.Topic;

            CRCDisplay.AddInformation(message);
            CRCGame.AddInformation(message);
        }
示例#4
0
 private void Map_TopicIconChanged(object sender, TopicEventArgs e)
 {
     if (!IsUpdating)
     {
         UpdateView(ChangeTypes.AllVisual);
     }
 }
示例#5
0
 internal void HandleOnTopic(object sender, TopicEventArgs e)
 {
     if (OnTopic != null)
     {
         OnTopic(this, e);
     }
 }
示例#6
0
        private void Map_TopicFoldedChanged(object sender, TopicEventArgs e)
        {
            TrySelectFolded(e.Topic);

            if (!IsUpdating)
            {
                UpdateView(ChangeTypes.AllVisual);
            }
        }
示例#7
0
        void ClientTopic(TopicEventArgs e)
        {
            var channel = Server.Channel(e.Channel);

            if (channel != null)
            {
                channel.Topic = Irc.Parser.Helper.RemoveSpecialIrcChars(e.Topic);
                channel.Commit();
            }
        }
示例#8
0
            protected virtual void RaiseEvent(TopicEventArgs args)
            {
                //temp copy : anti race conditions
                EventHandler <TopicEventArgs> eventRaiser = EventHandler;

                //null if no subs
                if (eventRaiser != null)
                {
                    //get a raise
                    eventRaiser(this, args);
                }
            }
        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");
            }
        }
示例#10
0
        public void ChangeCategory(Topic topic, int newCategory)
        {
            var eventArgs = new TopicEventArgs() { Topic = topic };
            if (Moving.RaiseAndContinue(this, eventArgs))
            {
                topic.ParentId = newCategory;
                _databaseContext.Database.Save(topic);

                Moved.Raise(this, eventArgs);
            }
            else
                CancelledByEvent.Raise(this, eventArgs);
        }
示例#11
0
 private void Map_TopicAdded(object sender, TopicEventArgs e)
 {
     if (e.Topic != null && e.Topic.ParentTopic != null)
     {
         var node = FindNode(e.Topic.ParentTopic) as TopicTreeNode;
         if (node != null)
         {
             BuildTree(e.Topic, node.Nodes);//
             //TopicTreeNode subNode = new TopicTreeNode(e.Topic);
             //subNode.ImageIndex = subNode.SelectedImageIndex = 1;
             //node.Nodes.Add(subNode);
         }
     }
 }
示例#12
0
 /// <summary>
 /// Handles the IRC OnTopic event.
 /// </summary>
 /// <param name="sender">Sender.</param>
 /// <param name="e">EventArgs.</param>
 void OnTopic(object sender, TopicEventArgs e)
 {
     if (e.Channel.ToLower() == channel && e.Topic.StartsWith("!lazor "))
     {
         List <string> pars = new List <string>(e.Topic.Split(' '));
         SetStatus("Controlled by topic");
         try
         {
             txtTargetIP.Invoke(new CheckParamsDelegate(CheckParams), pars);
         }
         catch
         { }
     }
 }
示例#13
0
        private void Map_TopicAdded(object sender, TopicEventArgs e)
        {
            if (!IsUpdating)
            {
                UpdateView(ChangeTypes.All);
            }

            if (e.Topic != null)
            {
                //SelectTopic(e.Topic);
                Select(e.Topic);
                EnsureVisible(e.Topic);
            }
        }
示例#14
0
        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");
            }
        }
示例#15
0
        public void Delete(Topic topic)
        {
            var eventArgs = new TopicEventArgs()
            {
                Topic = topic
            };

            if (Deleting.RaiseAndContinue(this, eventArgs))
            {
                _databaseContext.Database.Delete(topic);
                Deleted.Raise(this, eventArgs);
            }
            else
            {
                CancelledByEvent.Raise(this, eventArgs);
            }
        }
示例#16
0
        public void Lock(Topic topic)
        {
            var eventArgs = new TopicEventArgs()
            {
                Topic = topic
            };

            if (Locking.RaiseAndContinue(this, eventArgs))
            {
                topic.Locked = true;
                _databaseContext.Database.Save(topic);
                Locked.Raise(this, eventArgs);
            }
            else
            {
                CancelledByEvent.Raise(this, eventArgs);
            }
        }
示例#17
0
        public void ChangeCategory(Topic topic, int newCategory)
        {
            var eventArgs = new TopicEventArgs()
            {
                Topic = topic
            };

            if (Moving.RaiseAndContinue(this, eventArgs))
            {
                topic.ParentId = newCategory;
                _databaseContext.Database.Save(topic);

                Moved.Raise(this, eventArgs);
            }
            else
            {
                CancelledByEvent.Raise(this, eventArgs);
            }
        }
示例#18
0
        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);
        }
示例#19
0
        /* CRUD */
        public Topic Save(Topic topic)
        {
            var newTopic  = topic.Id <= 0;
            var eventArgs = new TopicEventArgs()
            {
                Topic = topic
            };

            if (newTopic)
            {
                Creating.Raise(this, eventArgs);
            }
            else
            {
                Updating.Raise(this, eventArgs);
            }

            if (!eventArgs.Cancel)
            {
                //save entity
                _databaseContext.Database.Save(topic);

                if (newTopic)
                {
                    Created.Raise(this, eventArgs);
                }
                else
                {
                    Updated.Raise(this, eventArgs);
                }
            }
            else
            {
                CancelledByEvent.Raise(this, eventArgs);
            }

            return(topic);
        }
示例#20
0
 private void Map_TopicDescriptionChanged(object sender, TopicEventArgs e)
 {
     InvalidateObject(e.Topic);
 }
示例#21
0
 private void Map_TopicRemoved(object sender, TopicEventArgs e)
 {
     OnTopicRemoved(e.Topic);
 }
示例#22
0
 private void ClientLink_TopicEventHandler(object sender, TopicEventArgs e)
 {
     //chat format : User : date     text
     Communication.sendMsg(Comm.GetStream(), new Message(MessageType.Chat_Topic, e.User + ":" + e.Time.Date.ToString() + "\t" + e.MessageBody));
 }
示例#23
0
 public void Lock(Topic topic)
 {
     var eventArgs = new TopicEventArgs() { Topic = topic };
     if (Locking.RaiseAndContinue(this, eventArgs))
     {
         topic.Locked = true;
         _databaseContext.Database.Save(topic);
         Locked.Raise(this, eventArgs);
     }
     else
         CancelledByEvent.Raise(this, eventArgs);
 }
示例#24
0
        /* CRUD */
        public Topic Save(Topic topic)
        {
            var newTopic = topic.Id <= 0;
            var eventArgs = new TopicEventArgs() { Topic = topic };

            if (newTopic)
                Creating.Raise(this, eventArgs);
            else
                Updating.Raise(this, eventArgs);

            if (!eventArgs.Cancel)
            {
                //save entity
                _databaseContext.Database.Save(topic);

                if (newTopic)
                    Created.Raise(this, eventArgs);
                else
                    Updated.Raise(this, eventArgs);

            }
            else
            {
                CancelledByEvent.Raise(this, eventArgs);
            }

            return topic;
        }
示例#25
0
 private void Client_TopicReceived(object sender, TopicEventArgs e)
 {
     Application.Current.Dispatcher.Invoke(() =>
                                           ChatItems.Add(new Notification($"conversation topic\n{e.Topic.Body}")));
 }
示例#26
0
 public void Delete(Topic topic)
 {
     var eventArgs = new TopicEventArgs() { Topic = topic };
     if (Deleting.RaiseAndContinue(this, eventArgs))
     {
         _databaseContext.Database.Delete(topic);
         Deleted.Raise(this, eventArgs);
     }
     else
         CancelledByEvent.Raise(this, eventArgs);
 }
示例#27
0
 private void irc_OnTopic(object sender, TopicEventArgs e)
 {
     this.AddChatMsg(e.Topic);
 }
示例#28
0
文件: Channel.cs 项目: hapm/IrcShark
 void Client_OnTopic(IrcClient sender, TopicEventArgs e)
 {
     if (e.ChannelName != Name) return;
     TopicValue = e.Topic;
 }
示例#29
0
 void Topic(object s, TopicEventArgs e)
 {
     writer.Log(e.Channel,
                "-!- Channel topic: {0}", e.Topic);
 }
 public void PluginsOnTopic(object sender, TopicEventArgs e)
 {
     OnTopic(this, e);
 }
示例#31
0
        void TopicService_Deleted(object sender, TopicEventArgs e)
        {
            var indexer = (SimpleDataIndexer)ExamineManager.Instance.IndexProviderCollection["ForumIndexer"];

            indexer.DeleteFromIndex(e.Topic.Id.ToString());
        }
示例#32
0
 void mClient_OnTopic(object sender, TopicEventArgs e)
 {
     AddText(string.Format("*** Topic: {0}", e.Topic));
 }
示例#33
0
 private void irc_OnTopic(object sender, TopicEventArgs e)
 {
 }