private async Task ConnectInternalAsync(CancellationToken cancellationToken) { while (!cancellationToken.IsCancellationRequested) { ConnectionState = UserStreamsConnectionState.Connecting; try { await UserStreams.Connect(_account, ParseLine, _userStreamTimeout, cancellationToken, TrackKeywords, _account.ReceiveRepliesAll, _account.ReceiveFollowingsActivity).ConfigureAwait(false); } catch (Exception ex) { ConnectionState = UserStreamsConnectionState.WaitForReconnection; if (cancellationToken.IsCancellationRequested) { break; } if (await HandleException(ex).ConfigureAwait(false)) { // if handled: continue running continue; } ConnectionState = UserStreamsConnectionState.Disconnected; throw; } } ConnectionState = UserStreamsConnectionState.Disconnected; }
private async Task SaveUser(UserStreams user) { _logger.LogInformation("Saving UserStreams object for {0}", user.UserName); using (var context = GetContext()) { await context.SaveAsync <UserStreams>(user); } }
public UserStreamsViewModel(UserStreams userstreams) { this.userstreams = userstreams; this.Message = userstreams.Status.Message(); this.CompositeDisposable.Add(new PropertyChangedEventListener(userstreams) { { "Status", (sender, e) => this.Message = userstreams.Status.Message() } }); }
private async Task <UserStreams> GetUser(string username) { _logger.LogInformation("Getting UserStreams object for {0}", username); var context = GetContext(); var user = await context.LoadAsync <UserStreams>(username); if (user == null) { user = new UserStreams { UserName = username, StreamCount = 0 } } ; return(user); }
public TwitterAccount(IEnumerable<TwitterToken> tokens) { // ReSharper disable PossibleMultipleEnumeration Guard.ArgumentNull(tokens, "tokens"); this.Tokens = new ObservableSynchronizedCollection<TwitterToken>(tokens); // ReSharper restore PossibleMultipleEnumeration this.CurrentToken = this.Tokens.FirstOrDefault(); this.UserId = this.CurrentToken.ToUserId(); this.UserStreams = new UserStreams(this); }