public string GetPackageVersionForStep(Step step)
        {
            if (PackageVersionNumberOverrides != null && PackageVersionNumberOverrides.ContainsKey(step.NuGetPackageId))
            {
                return PackageVersionNumberOverrides[step.NuGetPackageId];
            }
            if (!string.IsNullOrEmpty(PackageVersionNumber))
            {
                return PackageVersionNumber;
            }

            return null;
        }
        PackageVersion GetLatestVersion(Step step)
        {
            Log.DebugFormat("Getting latest version of package: {0}", step.NuGetPackageId);

            var versions = Client.List<PackageVersion>(step.Link("AvailablePackageVersions")).Execute();

            var latest = versions.FirstOrDefault();
            if (latest == null)
            {
                throw new CommandException("There are no available packages named '{0}'");
            }

            Log.InfoFormat("Latest available version of package '{0}' is '{1}'", step.NuGetPackageId, latest.Version);

            return new PackageVersion {Id = latest.Id, Version = latest.Version};
        }
 public ReleasePlanItem(Step step, string userSpecifiedVersion)
 {
     Step = step;
     Version = userSpecifiedVersion;
     VersionSource = string.IsNullOrWhiteSpace(Version) ? string.Empty : "User specified";
 }