public override void OnClick()
        {
            IEngineNetworkAnalystEnvironment naEnv    = new EngineNetworkAnalystEnvironmentClass();
            IEngineNetworkAnalystHelper      naHelper = naEnv as IEngineNetworkAnalystHelper;
            IEngineNAWindow naWindow = naEnv.NAWindow;

            // Get the NALayer and corresponding NAContext of the layer that
            // was right-clicked on in the table of contents
            // m_MapControl.CustomProperty was set in frmMain.axTOCControl1_OnMouseDown
            INALayer   naLayer   = (INALayer)m_mapControl.CustomProperty;
            INAContext naContext = naLayer.Context;

            // Set the active Analysis layer
            if (naWindow.ActiveAnalysis != naLayer)
            {
                naWindow.ActiveAnalysis = naLayer;
            }

            // Remember what the current category is
            IEngineNAWindowCategory currentCategory = naWindow.ActiveCategory;

            // Loop through deleting all the items from all the categories
            INamedSet naClasses = naContext.NAClasses;

            for (int i = 0; i < naClasses.Count; i++)
            {
                IEngineNAWindowCategory category = naWindow.get_CategoryByNAClassName(naClasses.get_Name(i));
                naWindow.ActiveCategory = category;
                naHelper.DeleteAllNetworkLocations();
            }

            //Reset to the original category
            naWindow.ActiveCategory = currentCategory;

            m_mapControl.Refresh(esriViewDrawPhase.esriViewGeography, naLayer, m_mapControl.Extent);
        }
        public override void OnClick()
        {
            if (m_mapControl == null)
            {
                MessageBox.Show("Error: Map control is null for this command");
                return;
            }

            // Get the NALayer and corresponding NAContext of the layer that
            // was right-clicked on in the table of contents
            // m_MapControl.CustomProperty was set in frmMain.axTOCControl1_OnMouseDown
            INALayer naLayer = m_mapControl.CustomProperty as INALayer;

            if (naLayer == null)
            {
                MessageBox.Show("Error: NALayer was not set as the CustomProperty of the map control");
                return;
            }

            var naEnv = CommonFunctions.GetTheEngineNetworkAnalystEnvironment();

            if (naEnv == null || naEnv.NAWindow == null)
            {
                MessageBox.Show("Error: EngineNetworkAnalystEnvironment is not properly configured");
                return;
            }

            // Set the active Analysis layer
            IEngineNAWindow naWindow = naEnv.NAWindow;

            if (naWindow.ActiveAnalysis != naLayer)
            {
                naWindow.ActiveAnalysis = naLayer;
            }

            // Remember what the current category is
            IEngineNAWindowCategory originalCategory = naWindow.ActiveCategory;

            // Loop through deleting all the items from all the categories
            INamedSet naClasses = naLayer.Context.NAClasses;
            var       naHelper  = naEnv as IEngineNetworkAnalystHelper;

            for (int i = 0; i < naClasses.Count; i++)
            {
                IEngineNAWindowCategory category = naWindow.get_CategoryByNAClassName(naClasses.get_Name(i));
                naWindow.ActiveCategory = category;
                naHelper.DeleteAllNetworkLocations();
            }

            //Reset to the original category
            naWindow.ActiveCategory = originalCategory;

            // Redraw the map
            m_mapControl.Refresh(esriViewDrawPhase.esriViewGeography, naLayer, m_mapControl.Extent);
        }