private void UpdateCache(INupkgProvider nupkgProvider, DeletePackageCompletedEventArgs eventArgs) { lock (CachedNuspec) { var versionDic = CachedNuspec.GetOrAdd(eventArgs.Id , id => new ConcurrentDictionary <string, Nuspec>()); versionDic.TryRemove(eventArgs.Version, out var removed); } }
private void UpdateCache(INupkgProvider nupkgProvider, AddPackageCompletedEventArgs eventArgs) { lock (CachedNuspec) { var nuspec = Zip.ReadNuspec(eventArgs.FileName); if (nuspec == null) { return; } nuspec.FilePath = eventArgs.FileName; var versionDic = CachedNuspec.GetOrAdd(eventArgs.Id , id => new ConcurrentDictionary <string, Nuspec>()); versionDic.AddOrUpdate(eventArgs.Version, nuspec, (version, old) => nuspec); } }
public IEnumerable <Nuspec> GetAll() => CachedNuspec .SelectMany(id => id.Value.Select(v => v.Value));