Example #1
0
        protected override void EndProcessing()
        {
            var idRanges = IdRange.Invoke(Path, ObjectType).Select(o => o.BaseObject).Cast <ObjectIdRange>();
            var reserved = Reserved.Invoke(Path, ObjectType).Select(o => o.BaseObject).Cast <ObjectIdInfo>();
            var inUse    = InUse.Invoke(Path, ObjectType, Recurse).Select(o => o.BaseObject).Cast <ObjectIdInfo>();

            if (MyInvocation.BoundParameters.ContainsKey(nameof(ObjectType)))
            {
                idRanges = idRanges.Where(r => ObjectType.Contains(r.ObjectType));
                reserved = reserved.Where(r => ObjectType.Contains(r.ObjectType));
                inUse    = inUse.Where(o => ObjectType.Contains(o.ObjectType));
            }

            switch (Summary.IsPresent)
            {
            case true: WriteSummary(idRanges, reserved, inUse); break;

            case false: WriteDetails(idRanges, reserved, inUse); break;
            }
        }
Example #2
0
 protected override void ProcessRecord() =>
 WriteObject(
     ObjectInfos
     .Where(o => ObjectType.Contains(o.ObjectType)),
     true
     );