Skip to content

Commit

Permalink
Merge pull request #27 from bmrvilela/master
Browse files Browse the repository at this point in the history
Extended method GetResultsForScan with more parameters to filter scans by status
  • Loading branch information
portilha authored Jul 16, 2024
2 parents 7b924ad + 0f83a1b commit e6bb08b
Showing 1 changed file with 31 additions and 3 deletions.
34 changes: 31 additions & 3 deletions Checkmarx.API/CxClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3397,7 +3397,7 @@ public IEnumerable<SoapSingleResultData> GetResultsForScanByStateId(long scanId,
return GetResultsForScan(scanId, includeInfoSeverityResults).Where(x => x.State == (int)state);
}

public IEnumerable<SoapSingleResultData> GetResultsForScan(long scanId, bool includeInfoSeverityResults = true, bool includeNonExploitables = true)
public IEnumerable<SoapSingleResultData> GetResultsForScan(long scanId, bool includeInfoSeverityResults = true, bool includeNonExploitables = true, bool includeProposedNonExploitables = true, bool includeConfirmedResults = true)
{
checkConnection();

Expand Down Expand Up @@ -3428,10 +3428,38 @@ public IEnumerable<SoapSingleResultData> GetResultsForScan(long scanId, bool inc

if (!includeNonExploitables)
{
results = results.Where(x => x.State != (int)ResultState.NonExploitable &&
x.State != (int)ResultState.ProposedNotExploitable).ToArray();
results = results.Where(x => x.State != (int)ResultState.NonExploitable).ToArray();
}

if (!includeProposedNonExploitables)
{
results = results.Where(x => x.State != (int)ResultState.ProposedNotExploitable).ToArray();
}

if (!includeConfirmedResults)
{
results = results.Where(x => x.State != (int)ResultState.Confirmed).ToArray();
}

return results;
}

public CxWSSingleResultData[] GetResultsForScanNeitherConfirmedNorNonExploitable(long scanId, bool includeInfoSeverityResults = true)
{
checkConnection();

var result = _cxPortalWebServiceSoapClient.GetResultsForScan(_soapSessionId, scanId);

if (!result.IsSuccesfull)
throw new ApplicationException(result.ErrorMessage);

var results = result.Results;

if (!includeInfoSeverityResults)
results = results.Where(x => x.Severity != (int)Severity.Info).ToArray();

results = results.Where(x => x.State != (int)ResultState.Confirmed && x.State != (int)ResultState.NonExploitable).ToArray();

return results;
}

Expand Down

0 comments on commit e6bb08b

Please sign in to comment.