public static void ShowArrows(IApplication app)
{
INetworkAnalysisExt netExt = null;
UID pUID = null;
IMxDocument pMxDoc = null;
IMap pMap = null;
IActiveView av = null;
List<IGeometricNetwork> gnList = null;
IGeometricNetwork gn = null;
IUtilityNetworkAnalysisExt unetExt = null;
IUtilityNetworkAnalysisExtFlow unetExtArr = null;
try
{
//Get NA Extension in order to update the current network with the first visible network
pUID = new UIDClass();
pUID.Value = "esriEditorExt.UtilityNetworkAnalysisExt";
netExt = app.FindExtensionByCLSID(pUID) as INetworkAnalysisExt;
pMxDoc = app.Document as IMxDocument;
pMap = pMxDoc.FocusMap;
av = pMap as IActiveView;
gnList = Globals.GetGeometricNetworksCurrentlyVisible(ref pMap);
if (gnList.Count > 0 && netExt != null)
{
try
{
unetExt = netExt as IUtilityNetworkAnalysisExt;
if (gnList.Contains(netExt.CurrentNetwork))
{
//Get first visible geometric network
gn = netExt.CurrentNetwork;
if (gn != null && unetExt != null)
{
//netExt.CurrentNetwork = gn;
unetExt = netExt as IUtilityNetworkAnalysisExt;
unetExtArr = unetExt as IUtilityNetworkAnalysisExtFlow;
unetExtArr.ShowFlow = !(unetExtArr.ShowFlow);
av.Refresh();
}
}
else
{
//Get first visible geometric network
gn = gnList[0] as IGeometricNetwork;
if (gn != null && unetExt != null)
{
netExt.CurrentNetwork = gn;
unetExt = netExt as IUtilityNetworkAnalysisExt;
unetExtArr = unetExt as IUtilityNetworkAnalysisExtFlow;
unetExtArr.ShowFlow = !(unetExtArr.ShowFlow);
av.Refresh();
}
}
}
catch (Exception ex)
{
MessageBox.Show(A4LGSharedFunctions.Localizer.GetString("GeoNetToolsLbl_1") + "\n" + ex.Message, ex.Source);
return;
}
}
}
catch (Exception ex)
{
MessageBox.Show(A4LGSharedFunctions.Localizer.GetString("GeoNetToolsLbl_1") + "\n" + ex.Message, ex.Source);
return;
}
finally
{
netExt = null;
pUID = null;
pMxDoc = null;
pMap = null;
av = null;
gnList = null;
gn = null;
unetExt = null;
unetExtArr = null;
}
}