public void Handle(TLUpdateWebPage updateWebPage) { Execute.BeginOnUIThread(() => { for (var i = 0; i < _mediaWebPagesCache.Count; i++) { var mediaWebPage = _mediaWebPagesCache[i]; if (mediaWebPage.WebPage.Id.Value == updateWebPage.WebPage.Id.Value) { mediaWebPage.WebPage = updateWebPage.WebPage; foreach (var item in Items) { var itemMediaWebPage = item.Media as TLMessageMediaWebPage; if (itemMediaWebPage != null && itemMediaWebPage.WebPage.Id.Value == mediaWebPage.WebPage.Id.Value) { item.NotifyOfPropertyChange(() => item.Self); } } _mediaWebPagesCache.RemoveAt(i--); } } }); }
public void Handle(TLUpdateWebPage updateWebPage) { Execute.BeginOnUIThread(() => { var webPageBase = updateWebPage.WebPage; foreach (var webPageKeyValue in _webPagesCache) { var mediaBase = webPageKeyValue.Value; var webPageMessageMedia = mediaBase as TLMessageMediaWebPage; if (webPageMessageMedia != null) { var webPage = webPageMessageMedia.WebPage; if (webPage != null) { if (webPage.Id.Value == webPageBase.Id.Value) { webPageMessageMedia.WebPage = webPageBase; if (string.Equals(Text, webPageKeyValue.Key)) { if (webPageBase is TLWebPage || webPageBase is TLWebPagePending) { SaveReply(); Reply = new TLDecryptedMessagesContainter { WebPageMedia = webPageMessageMedia }; } else { RestoreReply(); } } break; } } } } foreach (var item in Items) { var message45 = item as TLDecryptedMessage45; if (message45 != null) { var mediaWebPage = message45.Media as TLDecryptedMessageMediaWebPage; if (mediaWebPage != null) { var webPage = mediaWebPage.WebPage; if (webPage != null && webPage.Id.Value == updateWebPage.WebPage.Id.Value) { mediaWebPage.WebPage = updateWebPage.WebPage; message45.NotifyOfPropertyChange(() => message45.MediaSelf); } } } } }); }
public void Handle(TLUpdateWebPage updateWebPage) { Execute.BeginOnUIThread(() => { var webPageBase = updateWebPage.WebPage; foreach (var webPageKeyValue in _webPagesCache) { var mediaBase = webPageKeyValue.Value; var webPageMessageMedia = mediaBase as TLMessageMediaWebPage; if (webPageMessageMedia != null) { var webPage = webPageMessageMedia.WebPage; if (webPage != null) { if (webPage.Id.Value == webPageBase.Id.Value) { webPageMessageMedia.WebPage = webPageBase; if (string.Equals(Text, webPageKeyValue.Key)) { if (webPageBase is TLWebPage || webPageBase is TLWebPagePending) { SaveReply(); Reply = new TLMessagesContainter { WebPageMedia = webPageMessageMedia }; } else { RestoreReply(); } } break; } } } } }); }