//could we place validations here? public static SendGridMessage ToSendGridMessage(this DispatchEmailRequest request) { var result = new SendGridMessage(); if (request != null) { result.From = new EmailAddress(); result.ReplyTo = new EmailAddress(); result.Subject = request.Subject; result.PlainTextContent = request.Content; //create single mail } return(result); }
public async Task <DispatchEmailResponse> Dispatch(DispatchEmailRequest request) { var result = DispatchEmailResponse.CreateFailed(request); //purpose? try { var message = request.ToSendGridMessage(); var response = await this.client.SendEmailAsync(message); if (response.StatusCode == HttpStatusCode.OK) { result = new DispatchEmailResponse(request); } else { result = DispatchEmailResponse.CreateFailed(request, new string[] { await response.Body.ReadAsStringAsync() }); } } catch (Exception e) { throw new SendGridEmailException(e); } return(result); }
public Task <DispatchEmailResponse> Dispatch(DispatchEmailRequest request) { throw new System.NotImplementedException(); }