private async void Button_ExportAddressList_Click(object sender, EventArgs e) { bool correctDate = true; Warning DateWarning = new Warning(this, "Neteisinga data"); if (this.CheckBox_UseDates.Checked) { if (this.DateTimePicker_DateFrom.Value > this.DateTimePicker_DateTo.Value) { if (this.DateTimePicker_DateFrom.Value.Date != this.DateTimePicker_DateTo.Value.Date) { DateWarning = new Warning(this, "Data nuo yra didesnė nei data iki"); correctDate = false; } } else if (DateTime.Now < this.DateTimePicker_DateTo.Value.Date) { DateWarning = new Warning(this, "Data iki pasirinkta ateityje"); correctDate = false; } else if (DateTime.Now < this.DateTimePicker_DateFrom.Value.Date) { DateWarning = new Warning(this, "Data nuo pasirinkta ateityje"); correctDate = false; } } if (!correctDate) { DateWarning.Show(); } else if (currentUser != null) { this.Hide(); string strfoldername = "C://"; string workingDirectory = Environment.CurrentDirectory; string projectDirectory = Directory.GetParent(workingDirectory).Parent.FullName; string filePathSavingPath = projectDirectory + @"\PathToAddressList.txt"; //vieta kur bus saugomas pathas į Adresų lista string pathToFile = File.ReadAllText(filePathSavingPath); int lastIndex = pathToFile.LastIndexOf(@"\"); pathToFile = pathToFile.Remove(lastIndex); if (pathToFile != "") { FolderBrowserDialog_DefaultExcelSavingPath.SelectedPath = pathToFile; OpenFileDialog_ExportAddressList.FileName = ""; } else { OpenFileDialog_ExportAddressList.InitialDirectory = projectDirectory; OpenFileDialog_ExportAddressList.FileName = ""; } DialogResult result = FolderBrowserDialog_DefaultExcelSavingPath.ShowDialog(this); if (result == DialogResult.OK) { List <MimeMessage> allEmails = datePickerEnabled ? await CheckEmail.FetchAllMailbotMessages(currentUser.GetEmail(), currentUser.GetPassword(), DateTimePicker_DateFrom.Value, DateTimePicker_DateTo.Value) : await CheckEmail.FetchAllMailbotMessages(currentUser.GetEmail(), currentUser.GetPassword()); if (allEmails != null) { strfoldername = FolderBrowserDialog_DefaultExcelSavingPath.SelectedPath; emailsToSend = CheckEmail.CollectToEmailsFromMessages(allEmails.ConvertAll(x => x.Body.ToString())); var emailsToSengGrouped = emailsToSend.GroupBy(u => u).Select(grp => new { Text = grp.Key, Count = grp.Count() }).ToList(); emailsToSend = new List <string>(); foreach (var email in emailsToSengGrouped) { emailsToSend.Add(email.Text); } File.WriteAllText(filePathSavingPath, strfoldername); EmailsSaveWindow saveWindow = new EmailsSaveWindow(this, datePickerEnabled, strfoldername, emailsToSend, DateTimePicker_DateFrom.Value, DateTimePicker_DateTo.Value); saveWindow.Show(); } else { this.Show(); Warning warning = new Warning(this, "Nesėkmingas išsaugojimas kuris galėjo įvykti dėl:" + Environment.NewLine + "1.Nepavyko prisijungti prie google serverio" + Environment.NewLine + "2.Blogas interneto ryšys"); } } else { this.Show(); this.Enabled = true; } } else { Warning warningWindow = new Warning(this, "Jūs nepasirinkote vartotojo"); warningWindow.Show(); } }
private void Button_Send_Click(object sender, EventArgs e) { if (currentUser != null) { bool fromExcel = false; Regex rgx = new Regex(@"^\s+$"); List <string> allEmailsList = new List <string>(); List <string> goodEmailList = new List <string>(); this.Enabled = false; badEmailList = new List <string>(); OpenFileDialog_ExportAddressList.Disposed += MainWindowEnableHandler; if (rgx.IsMatch(TextBox_Emails.Text) || TextBox_Emails.Text == "") { OpenFileDialog_ExportAddressList.Filter = "Excel Files|*.xlsx;*.xlsm;*.xlsb;*.xltx;*.xltm;*.xls;*.xlt;*.xls;*.xml;*.xml;*.xlam;*.xla;*.xlw;*.xlr;"; DialogResult result = OpenFileDialog_ExportAddressList.ShowDialog(this); if (result == DialogResult.OK) { allEmailsList = ExcelFuncions.GetEmailsFromFile(OpenFileDialog_ExportAddressList.FileName); } if (result == DialogResult.Cancel || result == DialogResult.Abort) { OpenFileDialog_ExportAddressList.Dispose(); } fromExcel = true; } else { string allEmailsString = TextBox_Emails.Text; allEmailsList = allEmailsString.Split('\n').ToList(); } for (int i = 0; i < allEmailsList.Count; i++) { string newEmail = allEmailsList[i]; if (allEmailsList.Count - 1 != i && !fromExcel) { newEmail = newEmail.Remove(newEmail.Count() - 1); } try { if (newEmail != null && newEmail != "" && !newEmail.Contains(Environment.NewLine)) { MailAddress m = new MailAddress(newEmail); goodEmailList.Add(newEmail); } } catch (FormatException) { this.badEmailList.Add(newEmail); } } SendEmail sendEmail = new SendEmail(currentUser.GetEmail(), currentUser.GetPassword()); List <string> emails = goodEmailList; sendEmail.SendEmails(emails, mail.GetSubject(), mail.GetBody()); Success successWindow; if (goodEmailList.Count > 0) { successWindow = new Success("Laiškai išsiųsti sėkmingai!"); successWindow.Show(); if (badEmailList.Count > 0) { successWindow.Disposed += SuccessClosedBadEmailsHandler; } else { successWindow.Disposed += MainWindowEnableHandler; } } else if (badEmailList.Count > 0) { BadEmailsWindow badEmailsWindow = new BadEmailsWindow(this, badEmailList); badEmailsWindow.Show(); } } else { Warning warningWindow = new Warning(this, "Jūs nepasirinkote vartotojo"); warningWindow.Show(); } }