ATMLCommonLibrary.forms.NetworkPathSelectionForm.ProcessHardwareItemSwitching C# (CSharp) Метод

ProcessHardwareItemSwitching() приватный Метод

private ProcessHardwareItemSwitching ( Switching switching ) : void
switching ATMLModelLibrary.model.equipment.Switching
Результат void
        private void ProcessHardwareItemSwitching( Switching switching )
        {
            if (switching != null)
            {
                var g = new ListViewGroup( "Switching", "Switching" );
                lvNetworkPaths.Groups.Add( g );
                foreach (object item in switching.Items)
                {
                    if (item != null)
                    {
                        var idesc = item as Switch;
                        if (idesc != null)
                        {
                            Interface interfaces = idesc.Interface;
                            if (interfaces != null)
                            {
                                foreach (Port port in interfaces.Ports)
                                {
                                    if (port != null)
                                    {
                                        var xpath = new StringBuilder( "//" );
                                        xpath.Append( XPathManager.DeterminePathName( _hardwareItemDescription ) );
                                        xpath.Append( "/" ).Append( XPathManager.DeterminePathName( switching ) );
                                        xpath.Append( "/" ).Append( XPathManager.DeterminePathName( item ) );
                                        xpath.Append( "[@name=\"" )
                                             .Append( idesc.name )
                                             .Append( "\"]" );
                                        xpath.Append( "/" ).Append( XPathManager.DeterminePathName( interfaces ) );
                                        xpath.Append( "/" ).Append( XPathManager.DeterminePathName( interfaces.Ports ) );
                                        xpath.Append( "/" )
                                             .Append( XPathManager.DeterminePathName( port ) );
                                        xpath.Append( "[@name=\"" )
                                             .Append( port.name )
                                             .Append( "\"]" );

                                        string pathValues = NetworkNode.ExtractPathValues( xpath.ToString() );
                                        var lvi = new ListViewItem( pathValues );
                                        lvi.Tag = xpath.ToString();
                                        lvi.Group = g;
                                        lvNetworkPaths.Items.Add( lvi );
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }