public async void SendApprovalNotification(IEnumerable <KeyResultArea> keyAreas)
        {
            string subject     = "Approve Key Result Area ";
            string message     = "has sumbitted one or more key result area, kindly review and act on it";
            string title       = "Key Result Area(KRA) For Approval";
            string htmlContent = "";
            string textContent = "";

            var comparer = EdgeComparer.Get <EmailObject>((x, y) => x.ReceiverEmailAddress == y.ReceiverEmailAddress);
            List <EmailObject> emailObj = keyAreas.Select(x => new EmailObject()
            {
                ReceiverEmailAddress = x.HodDetails.Email, ReceiverFullName = x.HodDetails.Name
            }).ToList();

            var distinctEmailObject = emailObj.Distinct(comparer).Select(x => x).ToList();
            var employee            = await GetEmployee(keyAreas.FirstOrDefault().EmployeeId);

            EmailDtoForMultiple emailDtos = new EmailDtoForMultiple()
            {
                PlainTextContent = textContent,
                HtmlContent      = htmlContent,
                EmailObjects     = distinctEmailObject
            };

            var result = sender.SendMultipleEmail(subject, employee.FullName, emailDtos, message, title);
        }
Esempio n. 2
0
        public async Task <HttpStatusCode> SendToMultipleEmail(string subject, EmailDtoForMultiple emailDtos)
        {
            var    emails      = emailDtos.EmailObjects.Select(x => new EmailAddress(x.ReceiverEmailAddress, x.ReceiverFullName)).ToList();
            string textContent = emailDtos.PlainTextContent;
            string htmlContent = emailDtos.HtmlContent;

            return(await dispatcher.SendSingleMailToMultipleEmail(subject, textContent, htmlContent, emails));
        }
Esempio n. 3
0
 public Task <HttpStatusCode> SendMultipleEmail(string subject, string employeeName, EmailDtoForMultiple emailDtos, string message, string title)
 {
     throw new NotImplementedException();
 }
Esempio n. 4
0
        public async Task <HttpStatusCode> SendMultipleEmail(string subject, string employeeName, EmailDtoForMultiple emailDtos, string message, string title)
        {
            try
            {
                var    emails = emailDtos.EmailObjects.Select(x => new EmailAddress(x.ReceiverEmailAddress, x.ReceiverFullName)).ToList();
                string url    = "https://resourceedge.herokuapp.com";

                emails.Add(new EmailAddress("[email protected] ", "Nwabugwu Akomas"));

                foreach (var item in emails)
                {
                    SingleEmailDto singleEmail = new SingleEmailDto()
                    {
                        PlainTextContent     = emailDtos.PlainTextContent,
                        HtmlContent          = await FormatEmail(employeeName, item.Name, message, title, url),
                        ReceiverEmailAddress = item.Email,
                        ReceiverFullName     = item.Name
                    };

                    if (singleEmail.HtmlContent == null)
                    {
                        singleEmail.HtmlContent = @$ "<p>{employeeName} has added you as a supervisor, kindly login to resourceedge and approve his EPA.</p>";
                    }

                    await dispatcher.SendSingleEmail(subject, singleEmail);
                }
                return(HttpStatusCode.OK);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }