public static string DiscoverPentairServer(string ipAddress)
        {
            if (!TestFixtureProject.ViewModel.TestFixtureViewModel.Instance.Start120ACVRelayOn())
            {
                string voltageStatus = "Start120ACVRelayOn - Error occured.";

                frmTestFixture.Instance.SetIpAddressLabel(voltageStatus);
                return(voltageStatus);
            }

            vm          = new ViewModel.TestFixtureViewModel();
            vm.openFile = true;

            serverStatus = "NOTAVAILABLE";
            string addressInfo = string.Empty;

            try
            {
                IPAddress address = IPAddress.Parse(_mServerIPAddress.ToString());

                Console.WriteLine("Addr: {0}  ", _mServerIPAddress.ToString());

                //Saved ip address
                addressInfo = _mServerIPAddress.ToString();

                ConnectToServer(address);
                if (serverStatus.Equals(connected))
                {
                    LogStructureNew.DeviceDiscover          = "PASS";
                    _RetrivedIpAddress                      = address.ToString();
                    TestFixtureSocketComm._IsIpAddressFound = true;
                }
                else
                {
                    LogStructureNew.DeviceDiscover          = "FAIL";
                    _RetrivedIpAddress                      = string.Empty;
                    TestFixtureSocketComm._IsIpAddressFound = false;
                }

                string serverStatusMessage = String.Format("IP Address '{0}': {1} ", _RetrivedIpAddress, serverStatus);

                if (frmTestFixture.Instance != null)
                {
                    frmTestFixture.Instance.SetIpAddressLabel(serverStatusMessage);

                    frmTestFixture.Instance.SetErrorMessageDisplayTextBox(serverStatusMessage);
                    frmTestFixture.Instance.WriteToLog(serverStatusMessage, ApplicationConstants.TraceLogType.Information);

                    if (serverStatus.Equals(connected))
                    {
                        frmTestFixture.Instance.SetIpAddressTextBox(addressInfo);
                    }

                    frmTestFixture.Instance.SetErrorMessageDisplayTextBox(addressInfo);
                    frmTestFixture.Instance.WriteToLog(addressInfo, ApplicationConstants.TraceLogType.Information);
                }

                return(serverStatus);
            }
            catch (Exception e)
            {
                _mexceptionMessage = e.Message.ToString();
                return(serverStatus);
            }
        }
        public static string DiscoverPentairServer()
        {
            vm          = new ViewModel.TestFixtureViewModel();
            vm.openFile = true;

            serverStatus = "NOTAVAILABLE";
            try
            {
                var nics = NetworkInterface.GetAllNetworkInterfaces();
                foreach (var nic in nics)
                {
                    if (serverStatus.Equals(connected))
                    {
                        break;
                    }
                    if (serverStatus.Equals(interrupted))
                    {
                        break;
                    }
                    if (serverStatus.Equals(serverUnavailable))
                    {
                        break;
                    }
                    //  _mServerIPAddress = null;
                    var ippropoerties = nic.GetIPProperties();
                    //we are only interested in IPv4 address
                    var ipv4add = ippropoerties.UnicastAddresses.Where(addr => addr.Address.AddressFamily == AddressFamily.InterNetwork);
                    foreach (var addr in ipv4add)
                    {
                        var network = CalculateNetwork(addr);
                        Console.WriteLine("Addr: {0}   Mask: {1}  Network: {2}", addr.Address, addr.IPv4Mask, network);

                        string retrivedip = addr.Address.ToString();

                        string local_host = Dns.GetHostName(); // returns local hostname

                        IPHostEntry host_entry = Dns.GetHostEntry(Dns.GetHostName());

                        foreach (var ip in host_entry.AddressList)
                        {
                            int delay = 1;
                            LogStructureNew.DeviceDiscover = "FAIL";

                            if (_IsDelayCheck)
                            {
                                bool flag = vm.CheckTriggerDelayOnce(delay);
                                if (!flag)
                                {
                                    serverStatus = interrupted;
                                    return(serverStatus);
                                }
                            }

                            TryToConnect(ip, ref retrivedip);
                            if (serverStatus.Equals(connected))
                            {
                                break;
                            }
                        }
                    }
                }
            }
            catch (Exception e)
            {
                _mexceptionMessage = e.Message.ToString();
            }

            return(serverStatus);
        }