public ActionResult Index(int?page) { int pageNumber = (page ?? 1); IList <Email> tags = _emailRepository.GetAll().OrderByDescending(o => o.SDate).ToList(); var data = tags.ToPagedList(pageNumber, pageSize); return(View("NhanMail", data)); }
public IActionResult GetAll() { var result = new ObjectResult(_repo.GetAll()) { StatusCode = (int)HttpStatusCode.OK }; // add total counts to header Request.HttpContext.Response.Headers.Add("X-Total-Count", _repo.GetAll().Count().ToString()); return(result); }
public ActionResult Index(string sortOrder, string CurrentSort, int?page) { int pageSize = 5; int pageIndex = 1; pageIndex = page.HasValue ? Convert.ToInt32(page) : 1; ViewBag.CurrentSort = sortOrder; sortOrder = String.IsNullOrEmpty(sortOrder) ? "To" : sortOrder; IPagedList <SendMail> sendMail = null; ApplicationDbContext db = new ApplicationDbContext(); switch (sortOrder) { case "To": if (sortOrder.Equals(CurrentSort)) { sendMail = _emailRepository.GetAll().OrderByDescending(m => m.To).ToPagedList(pageIndex, pageSize); } else { sendMail = _emailRepository.GetAll().OrderBy(m => m.To).ToPagedList(pageIndex, pageSize); } break; case "Subject": if (sortOrder.Equals(CurrentSort)) { sendMail = _emailRepository.GetAll().OrderByDescending(m => m.Subject).ToPagedList(pageIndex, pageSize); } else { sendMail = _emailRepository.GetAll().OrderBy(m => m.Subject).ToPagedList(pageIndex, pageSize); } break; case "DateTime": if (sortOrder.Equals(CurrentSort)) { sendMail = _emailRepository.GetAll().OrderByDescending(m => m.DateTime).ToPagedList(pageIndex, pageSize); } else { sendMail = _emailRepository.GetAll().OrderBy(m => m.DateTime).ToPagedList(pageIndex, pageSize); } break; case "Default": sendMail = _emailRepository.GetAll().OrderBy(m => m.To).ToPagedList(pageIndex, pageSize); break; } return(View(sendMail)); }
public IEnumerable <EmailDTO> GetAll() { var emailList = _emailRepository.GetAll().ToList(); if (emailList.Count == 0) { return(null); } return(new EmailMapping().ToEmailDTOMap(emailList)); }
public void ProcessMail(int amountToSend) { try { // Get the amount of emails to send in this batch var emails = _emailRepository.GetAll(amountToSend); // See if there are any if (emails != null && emails.Count > 0) { // Get the mails settings var settings = _settingsService.GetSettings(false); var smtp = settings.SMTP; var smtpUsername = settings.SMTPUsername; var smtpPassword = settings.SMTPPassword; var smtpPort = settings.SMTPPort; var smtpEnableSsl = settings.SMTPEnableSSL; var fromEmail = settings.NotificationReplyEmail; // If no SMTP settings then log it if (string.IsNullOrEmpty(smtp)) { _loggingService.Error("There are no SMTP details in the settings, unable to send emails"); return; } // Set up the SMTP Client object and settings var mySmtpClient = new SmtpClient(smtp); if (!string.IsNullOrEmpty(smtpUsername) && !string.IsNullOrEmpty(smtpPassword)) { mySmtpClient.Credentials = new NetworkCredential(smtpUsername, smtpPassword); } if (smtpEnableSsl != null) { mySmtpClient.EnableSsl = (bool)smtpEnableSsl; } if (!string.IsNullOrEmpty(smtpPort)) { mySmtpClient.Port = Convert.ToInt32(smtpPort); } // List to store the emails to delete after they are sent var emailsToDelete = new List <Email>(); // Loop through email email create a mailmessage and send it foreach (var message in emails) { var msg = new MailMessage { IsBodyHtml = true, Body = message.Body, From = new MailAddress(fromEmail), Subject = message.Subject }; msg.To.Add(message.EmailTo); mySmtpClient.Send(msg); emailsToDelete.Add(message); } // Loop through the sent emails and delete them foreach (var sentEmail in emailsToDelete) { _emailRepository.Delete(sentEmail); } } } catch (Exception ex) { _loggingService.Error(ex); } }
public List <Email> GetAll() { return(_emailRepository.GetAll()); }
public async Task <IEnumerable <Email> > GetAllEmails() { var res = await repo.GetAll(); return(res.AsEnumerable()); }
public IEnumerable<Email> GetAll() { return repository.GetAll(); }
// public async Task<ActionResult> Create(EmailViewModel model) // { // var credentialUserName = ConfigurationManager.AppSettings["SendGrid_UserName"]; // var sendGridPassword = ConfigurationManager.AppSettings["SendGrid_Password"]; // var message = new MailMessage(); // var count = model.ToEmails.Count; // using (var smtp = new SmtpClient("smtp.sendgrid.net", Convert.ToInt32(587))) // { // foreach (var item in model.ToEmails) // { // message.To.Add(new MailAddress(item)); // String bodyBuilder = ""; // message.From = new MailAddress(User.Identity.Name); // message.Subject = model.EmailSubject; // using (StreamReader read = new StreamReader(Server.MapPath("~/Views/Shared/EmailTemplates/AutoResponseTheme.html"))) // { // bodyBuilder += StreamReader.ReadToEnd(); // } // message.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(bodyBuilder, null, MediaTypeNames.Text.Html)); // smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network; // smtp.UseDefaultCredentials = false; // NetworkCredential credentials = //new NetworkCredential(credentialUserName, sendGridPassword); // smtp.EnableSsl = true; // smtp.Credentials = credentials; // if (count > 0) // { // await smtp.SendMailAsync(message); // //db.Emails.Add(email); // TempData["message"] = string.Format("{0} Recipient(s).", model.Email); // } // } // } // TempData["message"] = string.Format("[ {0} ] Emails were sent.", count); // return RedirectToAction("InBox"); // } public void PrepareEmailIndex(EmailViewModel model) { var xy = emailRepo.GetAll().ToList(); model.GetAllEmails = xy; }