public static async Task <IServerPackage> FindPackageAsync( this IServerPackageRepository repository, string id, SemanticVersion version, CancellationToken token) { var packages = await repository.FindPackagesByIdAsync(id, ClientCompatibility.Max, token); return(packages.FirstOrDefault(p => p.Version.Equals(version))); }
public static async Task <IServerPackage> FindPackageAsync( this IServerPackageRepository repository, string id, ClientCompatibility compatibility, CancellationToken token) { var packages = await repository.FindPackagesByIdAsync(id, compatibility, token); return(packages .OrderByDescending(p => p.Version) .FirstOrDefault()); }
public virtual async Task <IHttpActionResult> FindPackagesById( ODataQueryOptions <ODataPackage> options, [FromODataUri] string id, [FromUri] string semVerLevel = "", CancellationToken token = default(CancellationToken)) { if (string.IsNullOrEmpty(id)) { var emptyResult = Enumerable.Empty <ODataPackage>().AsQueryable(); return(QueryResult(options, emptyResult, _maxPageSize)); } var clientCompatibility = ClientCompatibilityFactory.FromProperties(semVerLevel); var sourceQuery = await _serverRepository.FindPackagesByIdAsync(id, clientCompatibility, token); return(TransformToQueryResult(options, sourceQuery, clientCompatibility)); }