await QueuedTask.Run(() =>
{
using (TraceManager traceManager = utilityNetwork.GetTraceManager())
using (CircuitManager circuitManager = utilityNetwork.GetCircuitManager(telecomDomainNetwork))
using (UtilityNetworkDefinition utilityNetworkDefinition = utilityNetwork.GetDefinition())
{
IReadOnlyList<NetworkSource> networkSources = utilityNetworkDefinition.GetNetworkSources();
IReadOnlyList<NetworkAttribute> networkAttributes = utilityNetworkDefinition.GetNetworkAttributes();
IEnumerable<string> networkAttributeNames = networkAttributes.Select(s => s.Name);
NetworkSource telcoDeviceNWSource = networkSources.First(f => f.Name.Contains("TelcoDevice"));
NetworkSource telcoCircuit = networkSources.First(f => f.Name.Contains("TelcoCircuit"));
TraceConfiguration traceConfiguration = new TraceConfiguration()
{
InferConnectivity = false,
DomainNetwork = telecomDomainNetwork,
IncludeContainers = true,
IncludeContent = true,
SynthesizeGeometries = false
};
ResultOptions resultOptions = new ResultOptions()
{
IncludeGeometry = true,
NetworkAttributes = networkAttributeNames.ToList(),
ResultFields = new Dictionary<NetworkSource, List<string>>() { { telcoDeviceNWSource, ["NEXTUNITID", "PARTITIONID"] },
{ telcoCircuit, ["LongTestField", "TextTestField", "DateTestField"] }}
};
CircuitExportOptions circuitExportOptions = new CircuitExportOptions()
{
IncludeDomainDescriptions = true,
ResultOptions = resultOptions,
ResultTypes = new List<ResultType> { ResultType.Circuit },
ServiceSynchronizationType = ServiceSynchronizationType.Asynchronous,
SetAcknowledged = false,
TraceConfiguration = traceConfiguration
};
circuitManager.Export(circuitNames, circuitExportOptions, circuitExportPath);
}
});