public static string FormatObjectIdAvailabilitySummary(ObjectIdAvailabilitySummary summary, bool supportsVirtualTerminal) { var stringBuilder = new StringBuilder(); foreach (var item in summary.Items) { stringBuilder.AppendLine( GetObjectIdAvailabilitySummaryItemColumn(item, summary.ConsideredObjectTypes, supportsVirtualTerminal) .Join(" ")); } return(stringBuilder.ToString()); }
protected void WriteSummary(IEnumerable <ObjectIdRange> idRanges, IEnumerable <ObjectIdInfo> reserved, IEnumerable <ObjectIdInfo> inUse) { var result = new ObjectIdAvailabilitySummary(ObjectType); idRanges.ForEach(r => { if (!result.AddIdRange(r)) { WriteWarning("The ID ranges specified appear to overlap."); } }); reserved.ForEach(i => { if (!result.AddReservedObject(i)) { WriteWarning($"Reservation for {i.ObjectType} {i.ObjectID} lies outside of the available ID ranges."); } }); inUse.ForEach(i => { if (!result.AddUsedObject(i)) { WriteWarning($"ID for {i.ObjectType} {i.ObjectID} lies outside of the available ID ranges."); } }); WriteObject(result); }