ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Core.Data.UtilityNetwork Namespace / UtilityNetwork Class / GetCircuitManager Method
The telecom domain network that the manager is based on.
Example

In This Topic
    GetCircuitManager Method
    In This Topic
    Gets a ArcGIS.Core.Data.UtilityNetwork.Telecom.CircuitManager object used to manipulate circuits. This method must be called on the MCT. Use QueuedTask.Run.
    Syntax

    Parameters

    telecomDomainNetwork
    The telecom domain network that the manager is based on.

    Return Value

    The circuit manager object.
    Exceptions
    ExceptionDescription
    The utility network does not have a telecom domain network.
    A geodatabase-related exception has occurred.
    Example
    Get the telecom domain network and network information from the utility network
    await QueuedTask.Run(() =>
    {
      if (!utilityNetwork.HasTelecomNetwork)
      {
        Console.WriteLine("The utility network does not have a telecom domain network.");
      }
    
      // Get the telecom domain network from the utility network definition.
      IReadOnlyList<DomainNetwork> domainNetworks = utilityNetwork.GetDefinition().GetDomainNetworks();
      foreach (DomainNetwork domainNetwork in domainNetworks)
      {
        if (domainNetwork is TelecomDomainNetwork tdn)
        {
          // The telecom domain network was found.
          telecomDomainNetwork = tdn;
    
          // Get information about circuit properties from the telecom domain network.
          CircuitProperties circuitProperties = telecomDomainNetwork.CircuitProperties;
          Console.WriteLine($"Maximum hops in a circuit: {circuitProperties.MaxHops}");
          Console.WriteLine($"Number of paths in a circuit: {circuitProperties.NumPaths}");
    
          // Get the circuit color scheme information
          IReadOnlyList<ColorScheme> colorSchemes = telecomDomainNetwork.ColorSchemes;
          foreach (ColorScheme colorScheme in colorSchemes)
          {
            string colorSchemeName = colorScheme.Name;
            int colorSchemeID = colorScheme.ID;
    
            IReadOnlyList<ColorSchemeGroup> colorSchemeGroups = colorScheme.Groups;
            foreach (ColorSchemeGroup group in colorSchemeGroups)
            {
              Console.WriteLine($"Color Scheme: {colorSchemeName}, Group: {group.Name}");
    
              // Color codes
              IReadOnlyList<ColorCode> colorCodes = group.ColorCodes;
              foreach (ColorCode colorCode in colorCodes)
              {
                Console.WriteLine($"Color Code: {colorCode}");
              }
    
              // Capacities
              IReadOnlyList<int> capacities = group.Capacity;
              foreach (int capacity in capacities)
              {
                Console.WriteLine($"Capacity: {capacity}");
              }
            }
          }
          
          // Use the telecom domain network to get additional information about the network.
          IReadOnlyList<WavelengthScheme> wavelengthSchemes = telecomDomainNetwork.WavelengthSchemes;
          IReadOnlyList<DividePolicy> dividePolicies = telecomDomainNetwork.DividePolicies;
          IReadOnlyList<CombinePolicy> combinePolicies = telecomDomainNetwork.CombinePolicies;
          IReadOnlyList<string> diagramTemplateNames = telecomDomainNetwork.DiagramTemplateNames;
        }
      }
    });
    Requirements

    Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)

    ArcGIS Pro version: 3.6 or higher.
    See Also