示例#1
0
 private void Add(SubscriptionFromPostManager.TransitionToPostData transitionToPostData)
 {
     SubscriptionFromPostManager.TransitionToPostData transitionToPostData1 = this._transitionTimes.FirstOrDefault <SubscriptionFromPostManager.TransitionToPostData>((Func <SubscriptionFromPostManager.TransitionToPostData, bool>)(t => t.OwnerId == transitionToPostData.OwnerId));
     if (transitionToPostData1 != null)
     {
         this._transitionTimes.Remove(transitionToPostData1);
     }
     this._transitionTimes.Add(transitionToPostData);
 }
示例#2
0
 private void CheckSubscriptionFromPostForId(long ownerId)
 {
     SubscriptionFromPostManager.TransitionToPostData transitionToPostData = this._transitionTimes.FirstOrDefault <SubscriptionFromPostManager.TransitionToPostData>((Func <SubscriptionFromPostManager.TransitionToPostData, bool>)(t => t.OwnerId == ownerId));
     if (transitionToPostData == null || (DateTime.UtcNow - transitionToPostData.DateTime).TotalHours > 24.0)
     {
         return;
     }
     EventAggregator.Current.Publish(new SubscriptionFromPostEvent()
     {
         post_id = transitionToPostData.PostId
     });
     this._transitionTimes.Remove(transitionToPostData);
 }
示例#3
0
        public void Handle(TransitionFromPostEvent message)
        {
            string[] strArray = message.post_id.Split('_');
            long     result;

            if (strArray.Length != 2 || !long.TryParse(strArray[0], out result))
            {
                return;
            }
            SubscriptionFromPostManager.TransitionToPostData transitionToPostData = new SubscriptionFromPostManager.TransitionToPostData();
            transitionToPostData.DateTime = DateTime.UtcNow;
            string postId = message.post_id;

            transitionToPostData.PostId = postId;
            long num = result;

            transitionToPostData.OwnerId = num;
            this.Add(transitionToPostData);
        }