private void Deploy()
        {
            Logger?.Info("DashboardUpdator - deploying");
            string source;

            if (DownloadUrl.EndsWith(".zip", System.StringComparison.OrdinalIgnoreCase))
            {
                var filename = Path.GetFileName(DownloadUrl);
                source = Path.Combine(DownloadFolder, Path.GetFileNameWithoutExtension(filename));
            }
            else
            {
                source = DownloadFolder;
            }

            var robo = new ExecutableUtil()
            {
                Executable   = "robocopy.exe",
                SuccessCodes = new[] { 0, 1 },
                Args         = $"\"{source}\" \"{DashboardFolder}\" /E /PURGE /XA:H /XD Config"
            };
            var result = robo.Run();

            if (result.WasSuccess)
            {
                Logger?.Info("DashboardUpdator - deploy success");
            }
            else
            {
                Logger?.Error("DashboardUpdator - deploy fail");
                SystemLogger?.Error("DashboardUpdator - deploy fail\n" + result.Output);
            }
        }
예제 #2
0
        public static bool Send(MailMessage mailMessage)
        {
            var    logger     = new SystemLogger();
            string domainName = GetDomainName(mailMessage.To[0].Address);

            IPAddress[] servers = GetMailExchangeServer(domainName);
            foreach (IPAddress server in servers)
            {
                try
                {
                    new SystemLogger().Log(LogLevel.Debug, string.Format("Send email with server:{0},from:{1},to:{2},subject:{3}.", server.ToString(), mailMessage.From, mailMessage.To[0].Address, mailMessage.Subject));
                    SmtpClient client = new SmtpClient(server.ToString(), SmtpPort);
                    client.Send(mailMessage);
                    return(true);
                }
                catch (Exception e)
                {
                    logger.Error("------> Send email failed:" + e.Message);
                    continue;
                }
            }
            return(false);
        }