示例#1
0
        private List <string> GetLocalIP()
        {
            try
            {
                List <string> result = new List <string>();

                List <UnicastIPAddressInformationCollection> ipInfo = NetworkInterface.GetAllNetworkInterfaces()
                                                                      .Select(ipinfo => ipinfo.GetIPProperties().UnicastAddresses)
                                                                      .ToList();

                ipInfo.SelectMany(ipinfo => ipinfo.Select(ip => ip.Address))
                .Where(ip => ip.AddressFamily == AddressFamily.InterNetwork)
                .OrderByDescending(ip => ip.Address)
                .ToList()
                .ForEach(ip => result.Add(ip.ToString()));

                return(result);
            }
            catch (Exception)
            {
                ExitCode = AppExitCodes.LocalIpException;
                return(new List <string> {
                    TextHelper.FailedGetLocalIP
                });
            }
        }
示例#2
0
 private string GetInternetIP()
 {
     try
     {
         using (StreamReader stream = new StreamReader(HttpHelper.GetWebRequest(TextHelper.InternetIpSite)
                                                       .GetResponse()
                                                       .GetResponseStream(), Encoding.UTF8))
         {
             return(stream.ReadToEnd());
         }
     }
     catch (Exception)
     {
         ExitCode = AppExitCodes.InternetIpException;
         return(TextHelper.FailedGetInternetIP);
     }
 }
示例#3
0
 public void Do(string internetIP, List <string> localIPs, ref AppExitCodes appExitCode, AppConfig appConfig)
 {
     try
     {
         ConsoleHelper.ShowAppBanner();
         ConsoleHelper.SetMailData();
         appConfig.RecipientEmail  = ConsoleHelper.SetOption("Recipient email address . . . : ");
         appConfig.SenderEmail     = ConsoleHelper.SetOption("Sender email address. . . . . : ");
         appConfig.SenderPassword  = ConsoleHelper.SetOption("Sender email password . . . . : ");
         appConfig.EmailServer     = ConsoleHelper.SetOption("Sender SMTP Server (for gmail.com use smtp.gmail.com) . . . : ");
         appConfig.EmailServerPort = ConsoleHelper.SetOption("Sender SMTP Port (for gmail.com use 587). . . . . . . . . . : ");
         ConsoleHelper.EmailSettingsSave(true);
         appConfig.IsConfigured = true;
     }
     catch
     {
         ConsoleHelper.EmailSettingsSave(false);
         appExitCode = AppExitCodes.SaveSettingsException;
     }
 }
示例#4
0
        public void Do(string internetIP, List <string> localIPs, ref AppExitCodes appExitCode, AppConfig appConfig)
        {
            ConsoleHelper.ShowAppBanner();

            if (appConfig.IsConfigured)
            {
                try
                {
                    SendByEmail(appConfig, internetIP);
                    ConsoleHelper.EmailSend(senderEmail: appConfig.SenderEmail, recipientEmail: appConfig.RecipientEmail);
                }
                catch (Exception ex)
                {
                    ConsoleHelper.EmailSendException(exception: ex, senderEmail: appConfig.SenderEmail, recipientEmail: appConfig.RecipientEmail);
                    appExitCode = AppExitCodes.EmailSendException;
                }
            }
            else
            {
                ConsoleHelper.NotSetMailData();
                appExitCode = AppExitCodes.SetMailDataException;
            }
        }
示例#5
0
 public void Do(string internetIP, List <string> localIPs, ref AppExitCodes appExitCode, AppConfig appConfig)
 {
     ConsoleHelper.ShowAppBanner();
     ConsoleHelper.ShowIPs(internetIP, localIPs);
 }