private void save_config_Click(object sender, EventArgs e) { int _; if (!textBox_port.Text.Equals("") && !int.TryParse(textBox_port.Text, out _)) { MessageBox.Show("Seulement les chiffres entre 0 à 9 sont valide!", "Port de Connexion", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } ConfigurationEmail mConfigurationEmail = new ConfigurationEmail( checkBox1.Checked, new Alert_Mail.Classes.Configuration.Connexion( Helpers.Utils.Encrypt(textBox_smtp.Text.Trim()), Helpers.Utils.Encrypt(textBox_port.Text.Trim()), Helpers.Utils.Encrypt(textBox_login.Text.Trim()), Helpers.Utils.Encrypt(textBox_pwd.Text.Trim())), new Alert_Mail.Classes.Configuration.EmailLists( checkBox_activate_send_client_emails.Checked, clientEmails, checkBox_activate_send_team_emails.Checked, teamEmails), new Alert_Mail.Classes.Configuration.EmailError( checkBox12.Checked, checkBox11.Checked, checkBox10.Checked), new Alert_Mail.Classes.Configuration.EmailSummary( checkBox15.Checked, Convert.ToInt16(numericUpDown1.Value), DateTime.Now), new Alert_Mail.Classes.Configuration.EmailPendingFiles( checkBox13.Checked, Convert.ToInt16(numericUpDown2.Value)) ); ConfigurationSaveLoad settings = new ConfigurationSaveLoad(mConfigurationEmail); settings.saveInfo(); Close(); }
private static void summaryMail(ConfigurationSaveLoad file, ConfigurationEmail settings, Database.Database db) { Console.WriteLine("Résumer mail..."); db.alertMailLogManager.insert(db.connectionString, ""); db.alertMailLogManager.insert(db.connectionString, DateTime.Now + " : AlertMail :: summaryMail() | Creation d une instance."); try { if (settings.emailSummary.active) { Alert_Mail.EmailManagement emailManagement = new Alert_Mail.EmailManagement(); string directoryName_tmpFile = Directory.GetCurrentDirectory() + @"\" + "tmp"; if (!Directory.Exists(directoryName_tmpFile)) { Directory.CreateDirectory(directoryName_tmpFile); db.alertMailLogManager.insert(db.connectionString, DateTime.Now + " : AlertMail :: summaryMail() | Ce répertoire " + directoryName_tmpFile + " n existe pas , alors créer le."); } DirectoryInfo fileListing1 = new DirectoryInfo(directoryName_tmpFile); FileInfo[] allFiles_error = fileListing1.GetFiles("*.csv"); db.alertMailLogManager.insert(db.connectionString, DateTime.Now + " : AlertMail :: summaryMail() | Il y a " + allFiles_error.Length + " fichier(s) dans le répertoire."); string[,] errorFilesFileNameList_ = new string[allFiles_error.Length, 2]; List <string> errorFilesFileNameList = new List <string>(); List <string> errorFilesFileList = new List <string>(); DateTime today = DateTime.Now; DateTime lastActivated = settings.emailSummary.lastActivated; TimeSpan ts = today - lastActivated; Console.WriteLine("Today : " + today); Console.WriteLine("LastActivated : " + lastActivated); Console.WriteLine("Ago : " + ts); db.alertMailLogManager.insert(db.connectionString, DateTime.Now + " : AlertMail :: summaryMail() | Date aujourd hui => " + string.Format("{0:dd-MM-yyyy HH.mm.ss}", today)); db.alertMailLogManager.insert(db.connectionString, DateTime.Now + " : AlertMail :: summaryMail() | Dernière fois lancé => " + lastActivated); db.alertMailLogManager.insert(db.connectionString, DateTime.Now + " : AlertMail :: summaryMail() | Temps de lancement depuis la dernière fois => " + ts.TotalHours + " heure(s)"); if (ts.TotalHours >= Convert.ToDouble(settings.emailSummary.hours)) { Console.WriteLine("Envoi un Mail Résumer en cours..."); db.alertMailLogManager.insert(db.connectionString, DateTime.Now + " : AlertMail :: summaryMail() | Envoi un Mail Résumer en cours..."); ConfigurationCustomMailSaveLoad mConfigurationCustomMailSaveLoad = new ConfigurationCustomMailSaveLoad(); if (mConfigurationCustomMailSaveLoad.isSettings(mConfigurationCustomMailSaveLoad.fileName_ERR_recap)) { // uncomment the Recap file creation too!!!!! /* * if (settings.emailLists.emailClientList.Count == 0 && settings.emailLists.emailTeamList.Count == 0) * { * Console.WriteLine("Aucun address mail enregistré!"); * } * * CustomMailRecap recap = new CustomMailRecap(); * //recap.Load("Mail_Recap.ml"); * string infoBody_end = ""; * string infoBody2 = ""; * string infoBodyHeader2 = ""; * * List<string> attachements = new List<string>(); * * //import file error * if (allFiles_error.Length > 0) * { * mConfigurationCustomMailSaveLoad.Load(mConfigurationCustomMailSaveLoad.fileName_ERR_recap); * CustomMailRecap mailRecap = mConfigurationCustomMailSaveLoad.customMailRecap; * * //mailRecap.Lines = new List<CustomMailRecapLines>(); * * if(mailRecap.Lines.Count > 0) * { * infoBodyHeader2 += "Il y a " + allFiles_error.Length + " fichier(s) qui sont tombé en erreur lors de l'import. Ils qui sont dans le le répertoire '" + directoryName_ErrorFile + "' :\n"; * } * * for (int x = 0; x < mailRecap.Lines.Count; x++) * { * errorFilesFileNameList_[x, 0] = mailRecap.Lines[x].NumCommande; * errorFilesFileNameList_[x, 1] = mailRecap.Lines[x].FilePath; * * errorFilesFileNameList.Add(mailRecap.Lines[x].NumCommande); * errorFilesFileList.Add(mailRecap.Lines[x].FilePath); * } * * Console.WriteLine("mailRecap.Lines.Count : " + mailRecap.Lines.Count); * * int a = 0; * List<string> unknownFileName = new List<string>(); * List<string> unknownFileEDI = new List<string>(); * for (int y = 0; y < mailRecap.Lines.Count; y++) * { * Console.WriteLine(y + " - FileNameList : " + errorFilesFileNameList[y] + "\nNumCommande : " + mailRecap.Lines[y].NumCommande); * if (errorFilesFileNameList.Contains(mailRecap.Lines[y].NumCommande)) * { * Console.WriteLine("y: " + y + " || FileInfo : " + allFiles_error[y].Name + " == Mail Recap : " + allFiles_error[y].Name); * infoBody2 += (y + 1) + " -\t Le numéro du document \"" + mailRecap.Lines[y].DocumentReference + "\"\nNom du fichier : " + mailRecap.Lines[y].FileName + "\nMessage erreur : " + mailRecap.Lines[y].DocumentErrorMessageDebug + "\nStackTrace: " + mailRecap.Lines[y].DocumentErrorStackTraceDebug + "\nL'erreur peut etre trouvé dans " + mailRecap.Lines[y].FilePath + "\n\n"; * a++; * * if (!attachements.Contains(mailRecap.Lines[y].FilePath)) * { * attachements.Add(mailRecap.Lines[y].FilePath); * } * } * else * { * unknownFileName.Add(errorFilesFileNameList_[y, 0]); * unknownFileEDI.Add(errorFilesFileNameList_[y, 1]); * } * } * * for (int x = 0; x < allFiles_error.Length; x++) * { * infoBody2 += "\tNom du fichier : \"" + allFiles_error[x].Name + "\", à " + emailManagement.getFileSize(allFiles_error[x].Length) + "\n"; * attachements.Add(allFiles_error[x].FullName); * } * * Console.WriteLine("Size 1 : " + attachements.Count); * * if (a == 0) * { * infoBodyHeader2 = ""; * } * } * * if (allFiles_error.Length > 0 && infoBody2.Length > 0) * { * infoBody_end += "Bonjour Team BDC, \n\nVoici un récapitulatif des documents. \n" + infoBodyHeader2 + infoBody2; * * emailManagement.EnvoiMail(settings, "log", "Résumer [" + recap.Client + "] " + recap.Subject, infoBody_end + "\nCordialement,\nConnecteur SAGE [" + recap.Client + "].", attachements); * * //delete recap file * * if (File.Exists(mConfigurationCustomMailSaveLoad.fileName_ERR_recap)) * { * File.Delete(mConfigurationCustomMailSaveLoad.fileName_ERR_recap); * } * } * * // the DateTime * settings.emailSummary.lastActivated = DateTime.Now; * file.configurationEmail = settings; * file.saveInfo(); */ } else { string infoBody = ""; List <string> attachements = new List <string>(); string dns = emailManagement.getDNS(); //import file error if (allFiles_error.Length > 0) { infoBody = "Il y a " + allFiles_error.Length + " fichier(s) qui sont dans le répertoire erreur '" + directoryName_tmpFile + "' :\n"; for (int x = 0; x < allFiles_error.Length; x++) { infoBody += "\tNom du fichier : \"" + allFiles_error[x].Name + "\", à " + emailManagement.getFileSize(allFiles_error[x].Length) + "\n Date de création " + string.Format("{0:yyyy/MM/dd HH:mm}", allFiles_error[x].CreationTime) + " et date de modification " + string.Format("{0:yyyy/MM/dd HH:mm}", allFiles_error[x].LastWriteTime) + ".\n"; if (!attachements.Contains(allFiles_error[x].FullName)) { attachements.Add(allFiles_error[x].FullName); } } if (allFiles_error.Length > 0) { emailManagement.EnvoiMail(settings, "log", "Résumer [" + dns + "]", "Bonjour Team BDC,\n\n" + infoBody + "\n\nCordialement,\nConnecteur SAGE [" + dns + "].", attachements, db); db.alertMailLogManager.insert(db.connectionString, DateTime.Now + " : AlertMail :: summaryMail() | Mail Envoyé => Résumer [" + dns + "]"); } Console.WriteLine("No Mail_Recap.ml File!"); // the DateTime settings.emailSummary.lastActivated = DateTime.Now; file.configurationEmail = settings; file.saveInfo(); db.alertMailLogManager.insert(db.connectionString, DateTime.Now + " : AlertMail :: summaryMail() | Reset lastActivated to " + string.Format("{0:dd-MM-yyyy HH.mm.ss}", settings.emailSummary.lastActivated)); } } } else { Console.WriteLine("Envoi des mails de résumer sont désactivé!"); db.alertMailLogManager.insert(db.connectionString, DateTime.Now + " : AlertMail :: summaryMail() | Envoi des mails de résumer sont désactivé!"); } //stop at the end of the program }//Console.ReadLine(); } catch (Exception ex) { Console.WriteLine(DateTime.Now + " | Main() : *********** Exception Main CheckErrorFiles ***********"); Console.WriteLine(DateTime.Now + " | Main() : " + ex.Message); Console.WriteLine(DateTime.Now + " | Main() : " + ex.StackTrace); db.alertMailLogManager.insert(db.connectionString, DateTime.Now + " :: ############################### Exception EnvoiMail ###############################"); db.alertMailLogManager.insert(db.connectionString, DateTime.Now + " : AlertMail :: summaryMail() | Message : " + ex.Message); //db.alertMailLogManager.insert(db.connectionString, DateTime.Now + " : AlertMail :: summaryMail() | StackTrace : " + ex.StackTrace); db.alertMailLogManager.insert(db.connectionString, ""); } }