private IPackage TryGetPackage(IPackageRepository repository, string packageId, SemanticVersion packageVersion)
{
IPackage package = null;
logger.LogInfo(UIResources.NG_LocatingPackages, packageId);
IList<IPackage> packages = PackageRepositoryExtensions.FindPackagesById(repository, packageId).ToList();
this.ListPackages(packages);
if (packages.Count == 0)
{
logger.LogError(UIResources.NG_ERROR_PackageNotFound, packageId);
}
else
{
if (packageVersion == null)
{
package = SelectLatestVersion(packages);
}
else
{
package = packages.FirstOrDefault(p => p.Version == packageVersion);
if (package == null)
{
logger.LogError(UIResources.NG_ERROR_PackageVersionNotFound, packageVersion);
}
}
}
return package;
}