Example #1
0
        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);
        }
Example #2
0
        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);
        }