public void CreateOrUpdateEmailTemplate(string templateName, string subject, string text, string html) { using (AmazonSimpleEmailServiceClient client = new AmazonSimpleEmailServiceClient(_regionEndpoint)) { Template template = new Template { TemplateName = templateName, SubjectPart = subject, TextPart = text, HtmlPart = html }; CreateTemplateRequest createTemplateRequest = new CreateTemplateRequest { Template = template }; try { _logger.LogInformation($"CreateOrUpdateEmailTemplate | TemplateName = {createTemplateRequest.Template.TemplateName}"); CreateTemplateResponse createTemplateResponse = client.CreateTemplateAsync(createTemplateRequest).Result; _logger.LogInformation($"CreateTemplateResponse.StatusCode = {createTemplateResponse.HttpStatusCode}"); _logger.LogInformation($"CreateTemplateResponse.RequestId = {createTemplateResponse.ResponseMetadata.RequestId}"); _logger.LogInformation($"CreateTemplateResponse.Metadata = {string.Join("; ", createTemplateResponse.ResponseMetadata.Metadata)}"); } catch (Exception ex) { if (ex.InnerException.GetType() == typeof(AlreadyExistsException)) { _logger.LogInformation($"Template already exists, updating template content for {templateName}"); try { UpdateTemplateResponse updateTemplateResponse = client.UpdateTemplateAsync(new UpdateTemplateRequest { Template = template }).Result; _logger.LogInformation($"UpdateTemplateResponse.StatusCode = {updateTemplateResponse.HttpStatusCode}"); _logger.LogInformation($"UpdateTemplateResponse.RequestId = {updateTemplateResponse.ResponseMetadata.RequestId}"); _logger.LogInformation($"UpdateTemplateResponse.Metadata = {string.Join("; ", updateTemplateResponse.ResponseMetadata.Metadata)}"); } catch { throw; } } else { _logger.LogError("Failure in CreateOrUpdateTemplate. Error message: " + ex.Message); throw ex; } } } }
public async Task <bool> CreateTemplate(string templatename, string subject, string body, string html) { Template template = new Template() { TemplateName = templatename, SubjectPart = subject, TextPart = body, HtmlPart = html }; _templaterequest = new CreateTemplateRequest { Template = template }; _templateresponse = await _Client.CreateTemplateAsync(_templaterequest); if (_templateresponse.HttpStatusCode.ToString() == "OK") { return(true); } return(false); }