예제 #1
0
        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();
        }
예제 #2
0
        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, "");
            }
        }