Esempio n. 1
0
 public void Update(DirectThread source, bool fromInbox = false)
 {
     UpdateExcludeItemList(source);
     if (fromInbox)
     {
         return;             // Items from GetInbox request will interfere with GetPagedItemsAsync
     }
     UpdateItemList(source.Items);
 }
Esempio n. 2
0
        private void UpdateExcludeItemList(DirectThread source)
        {
            Canonical = source.Canonical;
            //HasNewer = source.HasNewer;
            //HasOlder = source.HasOlder;
            IsSpam                    = source.IsSpam;
            Muted                     = source.Muted;
            Named                     = source.Named;
            Pending                   = source.Pending;
            ViewerId                  = source.ViewerId;
            LastActivity              = source.LastActivity;
            ThreadId                  = source.ThreadId;
            IsGroup                   = source.IsGroup;
            IsPin                     = source.IsPin;
            ValuedRequest             = source.ValuedRequest;
            VCMuted                   = source.VCMuted;
            ReshareReceiveCount       = source.ReshareReceiveCount;
            ReshareSendCount          = source.ReshareSendCount;
            ExpiringMediaReceiveCount = source.ExpiringMediaReceiveCount;
            ExpiringMediaSendCount    = source.ExpiringMediaSendCount;
            ThreadType                = source.ThreadType;
            Title                     = source.Title;
            MentionsMuted             = source.MentionsMuted;

            Inviter           = source.Inviter;
            LastPermanentItem = source.LastPermanentItem?.Timestamp > LastPermanentItem?.Timestamp ?
                                source.LastPermanentItem : LastPermanentItem;
            LeftUsers  = source.LeftUsers;
            LastSeenAt = source.LastSeenAt;

            if (string.IsNullOrEmpty(OldestCursor) ||
                string.Compare(OldestCursor, source.OldestCursor, StringComparison.Ordinal) > 0)
            {
                OldestCursor = source.OldestCursor;
                HasOlder     = source.HasOlder;
            }

            if (string.IsNullOrEmpty(NewestCursor) ||
                string.Compare(NewestCursor, source.NewestCursor, StringComparison.Ordinal) < 0)
            {
                NewestCursor = source.NewestCursor;
                HasNewer     = HasNewer;
            }

            UpdateUserList(source.Users);
            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(string.Empty));
        }
Esempio n. 3
0
        public InstaDirectInboxThreadWrapper(DirectThread source, Instagram api) : this(api)
        {
            Canonical                 = source.Canonical;
            HasNewer                  = source.HasNewer;
            HasOlder                  = source.HasOlder;
            IsSpam                    = source.IsSpam;
            Muted                     = source.Muted;
            Named                     = source.Named;
            Pending                   = source.Pending;
            ViewerId                  = source.ViewerId;
            LastActivity              = source.LastActivity;
            ThreadId                  = source.ThreadId;
            OldestCursor              = source.OldestCursor;
            IsGroup                   = source.IsGroup;
            IsPin                     = source.IsPin;
            ValuedRequest             = source.ValuedRequest;
            VCMuted                   = source.VCMuted;
            ReshareReceiveCount       = source.ReshareReceiveCount;
            ReshareSendCount          = source.ReshareSendCount;
            ExpiringMediaReceiveCount = source.ExpiringMediaReceiveCount;
            ExpiringMediaSendCount    = source.ExpiringMediaSendCount;
            NewestCursor              = source.NewestCursor;
            ThreadType                = source.ThreadType;
            Title                     = source.Title;
            MentionsMuted             = source.MentionsMuted;

            Inviter           = source.Inviter;
            LastPermanentItem = source.LastPermanentItem;
            LeftUsers         = source.LeftUsers;
            LastSeenAt        = source.LastSeenAt;

            foreach (var instaUserShortFriendship in source.Users)
            {
                Users.Add(instaUserShortFriendship);
            }
            if (Users.Count == 0)
            {
                Users.Add(new InstaUser());
            }
            UpdateItemList(source.Items);
        }