Exemple #1
0
        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));
        }
Exemple #2
0
        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));
        }
Exemple #4
0
        public IEnumerable <EmailDTO> GetAll()
        {
            var emailList = _emailRepository.GetAll().ToList();

            if (emailList.Count == 0)
            {
                return(null);
            }

            return(new EmailMapping().ToEmailDTOMap(emailList));
        }
Exemple #5
0
        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());
 }
Exemple #7
0
        public async Task <IEnumerable <Email> > GetAllEmails()
        {
            var res = await repo.GetAll();

            return(res.AsEnumerable());
        }
 public IEnumerable<Email> GetAll()
 {
     return repository.GetAll();
 }
Exemple #9
0
//        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;
        }