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;
                            }
                        }
                    }
                }
            });
        }