public MainWindow()
 {
     InitializeComponent();
     nicService          = new NicService();
     lstNics.ItemsSource = nicService.AllNics;
     ClearControls();
 }
        /// <summary>
        ///
        /// </summary>
        protected void SearchForPhysicalDevices()
        {
            try
            {
#if OLD_1
                ManagementObjectSearcher mos = null;
                mos = new ManagementObjectSearcher(@"SELECT * FROM   Win32_NetworkAdapter WHERE  Manufacturer != 'Microsoft'");
                IList <ManagementObject> managementObjectList = mos.Get()
                                                                .Cast <ManagementObject>()
                                                                .Where(p => (p.Properties["ServiceName"].Value != null && p.Properties["ServiceName"].Value.ToString().ToLower() == NicService.ToLower()))
                                                                .OrderBy(p => Convert.ToUInt32(p.Properties["Index"].Value))
                                                                .ToList();

                _Logger.Info("SearchForPhysicalDevices {0}", managementObjectList.Count);

                int nLan = 0;
                foreach (ManagementObject mo in managementObjectList)
                {
                    string LanDevice = mo.Properties["MACAddress"].Value.ToString().Replace(":", "");
#if OLD
                    Lan1Device = nLan == 0 ? LanDevice : Lan1Device;
                    Lan1Status = nLan == 0 ? LanStatus.Down : Lan1Status;

                    Lan2Device = nLan == 1 ? LanDevice : Lan2Device;
                    Lan2Status = nLan == 1 ? LanStatus.Down : Lan2Status;
                    _Logger.Info("SearchForPhysicalDevices. Device {0}: {1}", nLan, LanDevice);
#else
                    NICList.Add(new NICItem()
                    {
                        DeviceId = LanDevice, Status = LanStatus.Down
                    });
#endif
                    nLan++;
                }
#else
                int Index = 0;
                NICList.Clear();
                foreach (EventRecord evento in _LogEntries)
                {
                    if (evento.Properties.Count > 0)
                    {
                        string idDevice = evento.Properties[0].Value.ToString();
                        if (NICList.Count < 2 && NICList.Contains(new NICItem()
                        {
                            DeviceId = idDevice
                        }) == false)
                        {
                            NICList.Add(new NICItem()
                            {
                                DeviceId = idDevice, Status = LanStatus.Down, Index = Index++
                            });
                        }
                    }
                }
                NICList = NICList.OrderBy(lan => lan.DeviceId).ToList();
#endif
            }
            catch (Exception x)
            {
                _Logger.Error(String.Format("NICEventMonitor SearchForPhysicalDevices Exception {0}", x.Message), x);
                RaiseMessageError(x.Message);
            }
        }