private Task InitializeUserCache() { return(Task.Run(async() => { if (AuthenticatedUser != null) { var upc = new UserProfileCache { Name = AuthenticatedUser.Name, ScreenName = AuthenticatedUser.ScreenName, Description = AuthenticatedUser.Description, Location = AuthenticatedUser.Location, Uri = AuthenticatedUser.Url.ToString(), Statuses = AuthenticatedUser.StatusesCount, Friends = AuthenticatedUser.FriendsCount, Followers = AuthenticatedUser.FollowersCount, Favorites = AuthenticatedUser.FavouritesCount, }; upc.SaveJson(CacheFolderName + "/" + AuthenticatedUser.ScreenName + CacheUserProfileFileNameSuffix); using (var wc = new WebClient()) { await wc.DownloadFileTaskAsync( AuthenticatedUser.ProfileImageUrlHttps, CacheFolderName + "/" + AuthenticatedUser.ScreenName + CacheUserImageFileNameSuffix); await wc.DownloadFileTaskAsync( AuthenticatedUser.ProfileBackgroundImageUrlHttps, CacheFolderName + "/" + AuthenticatedUser.ScreenName + CacheUserBackgroundImageFileNameSuffix); } } else { if (!File.Exists(CacheFolderName + "/" + AuthenticatedUser.ScreenName + CacheUserProfileFileNameSuffix)) { return; } var upc = Kbtter3Extension.LoadJson <UserProfileCache>(CacheFolderName + "/" + AuthenticatedUser.ScreenName + CacheUserProfileFileNameSuffix); AuthenticatedUser.Name = upc.Name; AuthenticatedUser.ScreenName = upc.ScreenName; AuthenticatedUser.Description = upc.Description; AuthenticatedUser.Location = upc.Location; AuthenticatedUser.Url = new Uri(upc.Uri); AuthenticatedUser.StatusesCount = upc.Statuses; AuthenticatedUser.FriendsCount = upc.Friends; AuthenticatedUser.FollowersCount = upc.Followers; AuthenticatedUser.FavouritesCount = upc.Favorites; if (File.Exists(CacheFolderName + "/" + AuthenticatedUser.ScreenName + CacheUserImageFileNameSuffix)) { AuthenticatedUser.ProfileImageUrlHttps = new Uri(CacheFolderName + "/" + AuthenticatedUser.ScreenName + CacheUserImageFileNameSuffix, UriKind.Relative); } if (File.Exists(CacheFolderName + "/" + AuthenticatedUser.ScreenName + CacheUserBackgroundImageFileNameSuffix)) { AuthenticatedUser.ProfileImageUrlHttps = new Uri(CacheFolderName + "/" + AuthenticatedUser.ScreenName + CacheUserBackgroundImageFileNameSuffix, UriKind.Relative); } } })); }
private Task InitializeUserCache() { return Task.Run(async () => { if (AuthenticatedUser != null) { var upc = new UserProfileCache { Name = AuthenticatedUser.Name, ScreenName = AuthenticatedUser.ScreenName, Description = AuthenticatedUser.Description, Location = AuthenticatedUser.Location, Uri = AuthenticatedUser.Url.ToString(), Statuses = AuthenticatedUser.StatusesCount, Friends = AuthenticatedUser.FriendsCount, Followers = AuthenticatedUser.FollowersCount, Favorites = AuthenticatedUser.FavouritesCount, }; upc.SaveJson(CacheFolderName + "/" + AuthenticatedUser.ScreenName + CacheUserProfileFileNameSuffix); using (var wc = new WebClient()) { await wc.DownloadFileTaskAsync( AuthenticatedUser.ProfileImageUrlHttps, CacheFolderName + "/" + AuthenticatedUser.ScreenName + CacheUserImageFileNameSuffix); await wc.DownloadFileTaskAsync( AuthenticatedUser.ProfileBackgroundImageUrlHttps, CacheFolderName + "/" + AuthenticatedUser.ScreenName + CacheUserBackgroundImageFileNameSuffix); } } else { if (!File.Exists(CacheFolderName + "/" + AuthenticatedUser.ScreenName + CacheUserProfileFileNameSuffix)) return; var upc = Kbtter3Extension.LoadJson<UserProfileCache>(CacheFolderName + "/" + AuthenticatedUser.ScreenName + CacheUserProfileFileNameSuffix); AuthenticatedUser.Name = upc.Name; AuthenticatedUser.ScreenName = upc.ScreenName; AuthenticatedUser.Description = upc.Description; AuthenticatedUser.Location = upc.Location; AuthenticatedUser.Url = new Uri(upc.Uri); AuthenticatedUser.StatusesCount = upc.Statuses; AuthenticatedUser.FriendsCount = upc.Friends; AuthenticatedUser.FollowersCount = upc.Followers; AuthenticatedUser.FavouritesCount = upc.Favorites; if (File.Exists(CacheFolderName + "/" + AuthenticatedUser.ScreenName + CacheUserImageFileNameSuffix)) { AuthenticatedUser.ProfileImageUrlHttps = new Uri(CacheFolderName + "/" + AuthenticatedUser.ScreenName + CacheUserImageFileNameSuffix, UriKind.Relative); } if (File.Exists(CacheFolderName + "/" + AuthenticatedUser.ScreenName + CacheUserBackgroundImageFileNameSuffix)) { AuthenticatedUser.ProfileImageUrlHttps = new Uri(CacheFolderName + "/" + AuthenticatedUser.ScreenName + CacheUserBackgroundImageFileNameSuffix, UriKind.Relative); } } }); }