public async Task SaveUser(TweetUser user) { if (user == null) { throw new ArgumentNullException(nameof(user)); } var key = GetUserKey(user.Id); var contains = await redis.Client.ContainsRecord <TweetUser>(key).ConfigureAwait(false); if (!contains) { log.LogDebug("User doesn't exist - creating new"); key.AddIndex(new IndexKey(this, AllUserTag, false)); } else { InvalidateUser(user.Id); } await redis.Client.AddRecord(key, user).ConfigureAwait(false); cache.Set(user.Id.ToString(), user, new MemoryCacheEntryOptions() { SlidingExpiration = TimeSpan.FromMinutes(1) }); }
protected ObservableCollection <User> BuildUserInfoCollection(JToken userJsonToken) { ObservableCollection <User> userResult = new ObservableCollection <User>(); JArray jsonToken = new JArray(userJsonToken); foreach (var jsonItem in jsonToken) { foreach (var jItem in jsonItem) { TweetUser userHold = jItem.ToObject <TweetUser>(); User userItem = new User(); userItem.UserName = userHold.name.ToString(); userItem.TwitterID = userHold.id_str; userItem.ScreenName = userHold.screen_name; userItem.CreateDate = userHold.created_at; userItem.UserDescription = userHold.description; userItem.FriendCount = userHold.friends_count; userItem.FollowerCount = userHold.followers_count; userItem.ProfileImage = new BitmapImage(new Uri(userHold.profile_image_url)); userItem.ProfileImageUrl = userHold.profile_image_url; userItem.Verified = userHold.verified; userItem.ProtectedTweet = userHold._protected; userResult.Add(userItem); } } return(userResult); }
public void Setup() { tweetuser = new TweetUser(); instance = CreateUserItem(); }
public async Task SaveUser(IUser user) { if (user == null) { throw new ArgumentNullException(nameof(user)); } var idText = user.Id.ToString(); if (cache.TryGetValue(idText, out TweetUser data)) { return; } data = new TweetUser(); var cached = cache.GetOrCreate( idText, cacheEntry => { cacheEntry.SlidingExpiration = TimeSpan.FromMinutes(1); return(data); }); if (cached != data) { return; } data.Location = user.Location; data.CreatedAt = user.CreatedAt; data.DefaultProfile = user.DefaultProfile; data.Description = user.Description; data.GeoEnabled = user.GeoEnabled; data.Url = user.Url; data.Language = user.Language.ToString(); data.FollowersCount = user.FollowersCount; data.Following = user.Following; data.FriendsCount = user.FriendsCount; data.Verified = user.Verified; data.Notifications = user.Notifications; data.FollowRequestSent = user.FollowRequestSent; data.ProfileImageUrl = user.ProfileImageUrl; data.ListedCount = user.ListedCount; data.UtcOffset = user.UtcOffset; data.TimeZone = user.TimeZone; data.Name = user.Name; data.Protected = user.Protected; data.Id = user.Id; data.StatusesCount = user.StatusesCount; var key = GetUserKey(user.Id); key.AddIndex(new IndexKey(this, AllUserTag, false)); var contains = await redis.Client.ContainsRecord <TweetUser>(key).ConfigureAwait(false); if (!contains) { await redis.Client.AddRecord(key, data).ConfigureAwait(false); } }
void OnGetMyTwitterInfo(bool success, string response) { myTwitterInfo = JsonUtility.FromJson <TweetUser> (response); }