private void ValidateWorkloadIdsInput() { var avaliableWorkloads = _workloadResolver.GetAvaliableWorkloads(); foreach (var workloadId in _workloadIds) { if (avaliableWorkloads.Select(workload => workload.Id.ToString()).Contains(workloadId)) { if (!_workloadResolver.IsWorkloadPlatformCompatible(new WorkloadId(workloadId))) { throw new GracefulException(string.Format(LocalizableStrings.WorkloadNotSupportedOnPlatform, workloadId)); } } else { throw new GracefulException(string.Format(LocalizableStrings.WorkloadNotRecognized, workloadId)); } } }
public override int Execute() { var avaliableWorkloads = _workloadResolver.GetAvaliableWorkloads(); if (!string.IsNullOrEmpty(_workloadIdStub)) { avaliableWorkloads = avaliableWorkloads.Where(workload => workload.Id.ToString().Contains(_workloadIdStub, StringComparison.OrdinalIgnoreCase)); } var table = new PrintableTable <WorkloadDefinition>(); table.AddColumn(LocalizableStrings.WorkloadIdColumnName, workload => workload.Id.ToString()); table.AddColumn(LocalizableStrings.DescriptionColumnName, workload => workload.Description); if (_verbosity.VerbosityIsDetailedOrDiagnostic()) { table.AddColumn(LocalizableStrings.PlatformColumnName, workload => workload.Platforms == null ? string.Empty : string.Join(" ", workload.Platforms)); } _reporter.WriteLine(); table.PrintRows(avaliableWorkloads, l => _reporter.WriteLine(l)); _reporter.WriteLine(); return(0); }