public async void RefreshStatuses() { ShowingStatuses.Clear(); try { var s = await kbtter.Token.Statuses.UserTimelineAsync(screen_name => user.ScreenName, count => showst); stoc = s.Last().Id; stnc = s.First().Id; ShowOlderStatusesCommand.RaiseCanExecuteChanged(); ShowNewerStatusesCommand.RaiseCanExecuteChanged(); foreach (var i in s) { ShowingStatuses.Add(StatusViewModelExtension.CreateStatusViewModel(mainw, i)); } } catch (TwitterException e) { mainw.NotifyInformation(string.Format("ツイートの取得に失敗しました : {0}", e.Message)); stoc = 0; stnc = 0; } catch { stoc = 0; stnc = 0; } }
protected override void Dispose(bool disposing) { base.Dispose(disposing); mainw = null; kbtter = null; user = null; ShowingStatuses.Clear(); ShowingFavorites.Clear(); ShowingFriends.Clear(); ShowingFollowers.Clear(); }
private async void NotifyStatusUpdate(StatusMessage msg) { CacheStatuses(msg); if (msg.Type != MessageType.Create) { return; } LatestStatus = await ProcessStatuses(msg); ShowingStatuses.Enqueue(LatestStatus.Status); RaisePropertyChanged("Status"); await Task.Run(() => { foreach (var p in Plugins) { p.StatusUpdate(msg.DeepCopy(), PluginMonitoringToken); } }); }