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); }
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)); }
public Task <HttpStatusCode> SendMultipleEmail(string subject, string employeeName, EmailDtoForMultiple emailDtos, string message, string title) { throw new NotImplementedException(); }
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; } }