A4WaterUtilities.GeoNetTools.ShowArrows C# (CSharp) Метод

ShowArrows() публичный статический метод

public static ShowArrows ( IApplication app ) : void
app IApplication
Результат void
        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;
            }
        }