public static StatusCodeCollection CreateStatusCodeCollection(
OperationContext context,
IList<ServiceResult> errors,
out DiagnosticInfoCollection diagnosticInfos)
{
diagnosticInfos = null;
bool noErrors = true;
StatusCodeCollection results = new StatusCodeCollection(errors.Count);
foreach (ServiceResult error in errors)
{
if (ServiceResult.IsBad(error))
{
results.Add(error.Code);
noErrors = false;
}
else
{
results.Add(StatusCodes.Good);
}
}
// only generate diagnostics if errors exist.
if (noErrors)
{
diagnosticInfos = CreateDiagnosticInfoCollection(context, errors);
}
return results;
}