public static void WriteSpecificLog(List <String> log_in, LogIdentifier LogIdentifier) { try { if (log_in.Count > 0) { if (LogStream != null) { CloseLog(LogStreamType.LogStream); } CreateLog(LogIdentifier.ToString(), LogStreamType.LogStream); LogStream.WriteLine(""); LogStream.WriteLine("PrestaConnect version : " + System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString()); LogStream.WriteLine(""); LogStream.WriteLine(DateTime.Now.ToString("yyyy/MM/dd HH-mm")); LogStream.WriteLine(""); LogStream.WriteLine("Informations de connexion :"); LogStream.WriteLine("Serveur d'exécution : " + Environment.MachineName); LogStream.WriteLine("Domaine réseau : " + Environment.UserDomainName); LogStream.WriteLine("Session utilisateur de : " + Environment.UserName); LogStream.WriteLine("Connexion base de données PrestaConnect : " + Properties.Settings.Default.PRESTACONNECTConnectionString); LogStream.WriteLine("Connexion base de données Sage : " + Properties.Settings.Default.SAGEConnectionString); LogStream.WriteLine("Connexion ODBC Sage : " + Properties.Settings.Default.SAGEDSN + " - " + Properties.Settings.Default.SAGEUSER); LogStream.WriteLine(""); LogStream.WriteLine("--------------------------------------------------------"); LogStream.WriteLine(""); foreach (String line in log_in) { if (line == LogLineSeparator) { LogStream.WriteLine(""); LogStream.WriteLine("--------------------------------------------------------"); LogStream.WriteLine(""); } else { LogStream.WriteLine(line); } } } } catch (Exception ex) { Core.Log.WriteLog(ex.ToString(), true); Core.Log.WriteLog(LogIdentifier.ToString(), false); foreach (String line in log_in) { Core.Log.WriteLog(line, true); } } CloseLog(LogStreamType.LogStream); }
public static void SendLog(List <String> log, LogIdentifier LogType) { if (log.Count > 0) { if (Core.Global.GetConfig().TransfertSendAdminResultReport || LogType != LogIdentifier.TransfertClient) { bool send = false; string msg_not_send = "Compte mail administrateur invalide"; if (!String.IsNullOrWhiteSpace(Core.Global.GetConfig().AdminMailAddress) && Core.Global.IsMailAddress(Core.Global.GetConfig().AdminMailAddress, Parametres.RegexMail.lvl08_lUdS)) { send = Core.Log.SendLogMail(log, Core.Global.GetConfig().AdminMailAddress, out msg_not_send, LogType); } if (!send) { log.Add(Core.Log.LogLineSeparator); log.Add("PC99- Échec d'envoi du log par mail : " + msg_not_send); if (Core.Global.UILaunch) { MessageBox.Show("Échec d'envoi du log par mail !\nLe log va être écrit dans un fichier !", "", MessageBoxButton.OK, MessageBoxImage.Error); } Core.Log.WriteSpecificLog(log, LogType); Core.Log.OpenDirectory(LogDirectory); } else { Core.Log.WriteSpecificLog(log, LogType); } } else { Core.Log.WriteSpecificLog(log, LogType); Core.Log.OpenDirectory(LogDirectory); } } }
public static Boolean SendLogMail(List <String> log_in, String Destinataire, out String MessageNotSend, LogIdentifier LogType) { Boolean send = false; MessageNotSend = "Compte mail expéditeur invalide"; try { if (Core.Global.GetConfig().ConfigMailActive) { String User = Core.Global.GetConfig().ConfigMailUser; String Password = Core.Global.GetConfig().ConfigMailPassword; String SMTP = Core.Global.GetConfig().ConfigMailSMTP; Int32 Port = Core.Global.GetConfig().ConfigMailPort; Boolean isSSL = Core.Global.GetConfig().ConfigMailSSL; if (!string.IsNullOrWhiteSpace(User) //&& !string.IsNullOrWhiteSpace(Password) && !string.IsNullOrWhiteSpace(SMTP)) { MailMessage ObjMessage = new MailMessage(); MailAddress ObjAdrExp = new MailAddress(User); MailAddress ObjAdrRec = new MailAddress(Destinataire); SmtpClient ObjSmtpClient = new SmtpClient(SMTP, Port); ObjMessage.From = ObjAdrExp; ObjMessage.To.Add(ObjAdrRec); String subject = "Log PrestaConnect", title = string.Empty; switch (LogType) { case LogIdentifier.TransfertClient: subject = "Log de transfert des comptes clients Sage vers Prestashop"; break; case LogIdentifier.ImportAutoCatalog: subject = "Import automatique des catalogues Sage"; break; case LogIdentifier.ImportAutoArticle: subject = "Import automatique des articles Sage"; break; case LogIdentifier.ImportAutoImage: subject = "Import automatique d'images"; break; case LogIdentifier.ImportAutoDocument: subject = "Import automatique de documents"; break; case LogIdentifier.ImportAutoSageMedia: subject = "Import automatique de médias Sage"; break; case LogIdentifier.SynchroGroupCatTarif: subject = "Synchronisation groupe/catégorie tarifaire"; break; case LogIdentifier.GestionStatutArticle: subject = "Gestion des statuts articles"; break; case LogIdentifier.SynchroClient: subject = "Synchronisation client"; break; case LogIdentifier.ChronoSynchroStockPrice: subject = "Temps de traitement synchronisation Stock et Prix"; break; case LogIdentifier.ImportAutoStatInfoLibreArticle: subject = "Import des valeurs de caractéristiques depuis Sage"; break; case LogIdentifier.SynchroEncoursClient: subject = "Synchronisation des encours client"; break; case LogIdentifier.ImportPrestashopCaracteristiqueArticle: subject = "Import des valeurs de caractéristiques depuis PrestaShop"; break; case LogIdentifier.TransfertPrestashopCaracteristique: subject = "Transfert des caractéristiques vers Prestashop"; break; } title = subject; ObjMessage.Subject = subject; StringBuilder Body = new StringBuilder(); Body.Append("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">"); Body.Append("<html xmlns=\"http://www.w3.org/1999/xhtml\">"); Body.Append("<head>"); Body.Append("<meta http-equiv=\"content-type\" content=\"text/html\"; charset=UTF-8\" />"); title += ". PRESTACONNECT version " + System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); Body.Append("<title>" + title + "</title>"); Body.Append("</head>"); Body.Append("<body>"); Body.Append(title); Body.Append("<br />"); Body.Append("Informations de connexion :<br />"); Body.Append("<ul>"); Body.Append("<li>" + "Serveur d'exécution : " + Environment.MachineName + "</li>"); Body.Append("<li>" + "Domaine réseau : " + Environment.UserDomainName + "</li>"); Body.Append("<li>" + "Session utilisateur de : " + Environment.UserName + "</li>"); Body.Append("<li>" + "Connexion base de données PrestaConnect : " + Properties.Settings.Default.PRESTACONNECTConnectionString + "</li>"); Body.Append("<li>" + "Connexion base de données Sage : " + Properties.Settings.Default.SAGEConnectionString + "</li>"); Body.Append("<li>" + "Connexion ODBC Sage : " + Properties.Settings.Default.SAGEDSN + " - " + Properties.Settings.Default.SAGEUSER.Replace("<", "<").Replace(">", ">") + "</li>"); Body.Append("</ul>"); Body.Append("<br />"); foreach (String str in log_in) { Body.Append("<br />" + str); } Body.Append("</body>"); Body.Append("</html>"); ObjMessage.Body = Body.ToString(); ObjMessage.IsBodyHtml = true; ObjSmtpClient.EnableSsl = isSSL; ObjSmtpClient.Credentials = new NetworkCredential(User, Password); ObjSmtpClient.Send(ObjMessage); send = true; } } } catch (Exception ex) { MessageNotSend = ex.Message; Core.Error.SendMailError(ex.ToString()); } return(send); }