public static async Task <CachedOrg> LoadFromCacheAsync(string orgName, string cacheLocation = null) { var path = string.IsNullOrEmpty(cacheLocation) ? CachePersistence.GetPath(orgName) : cacheLocation; var cachedOrg = await CachePersistence.LoadAsync(path); var cacheIsValid = cachedOrg != null && cachedOrg.Name == orgName && cachedOrg.Version == CurrentVersion; return(cacheIsValid ? cachedOrg : null); }
public static async Task <CachedOrg> LoadAsync(GitHubClient gitHubClient, string orgName, TextWriter logWriter = null, string cacheLocation = null, bool forceUpdate = false) { var cachedOrg = forceUpdate ? null : await LoadFromCacheAsync(orgName, cacheLocation); if (cachedOrg == null) { var loader = new CacheLoader(gitHubClient, logWriter); cachedOrg = await loader.LoadAsync(orgName); await CachePersistence.SaveAsync(cachedOrg, cacheLocation); } return(cachedOrg); }