BuildingCoder.CmdPurgeTextNoteTypes.GetUnusedTextNoteTypesExcluding C# (CSharp) Méthode

GetUnusedTextNoteTypesExcluding() private méthode

Return all unused text note types by first determining all text note types in use and then collecting all the others using an exclusion filter.
private GetUnusedTextNoteTypesExcluding ( Document doc ) : ICollection
doc Document
Résultat ICollection
        ICollection<ElementId> GetUnusedTextNoteTypesExcluding(
            Document doc)
        {
            ICollection<ElementId> usedTextNotesTypeIds
            = new Collection<ElementId>();

              FilteredElementCollector textNotes
            = new FilteredElementCollector( doc )
              .OfClass( typeof( TextNote ) );

              foreach( TextNote textNote in textNotes )
              {
            usedTextNotesTypeIds.Add(
              textNote.TextNoteType.Id );
              }

              FilteredElementCollector unusedTypeCollector
            = new FilteredElementCollector( doc )
              .OfClass( typeof( TextNoteType ) );

              if( 0 < usedTextNotesTypeIds.Count )
              {
            unusedTypeCollector.Excluding(
              usedTextNotesTypeIds );
              }

              ICollection<ElementId> unusedTypes
            = unusedTypeCollector.ToElementIds();

              return unusedTypes;
        }