public void Update(DirectThread source, bool fromInbox = false) { UpdateExcludeItemList(source); if (fromInbox) { return; // Items from GetInbox request will interfere with GetPagedItemsAsync } UpdateItemList(source.Items); }
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)); }
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); }