public static string GetEmailTemplateTable(RestCommand command, int emailTemplateTableID) { EmailTemplateTable emailTemplateTable = EmailTemplateTables.GetEmailTemplateTable(command.LoginUser, emailTemplateTableID); if (emailTemplateTable.OrganizationID != command.Organization.OrganizationID) { throw new RestException(HttpStatusCode.Unauthorized); } return(emailTemplateTable.GetXml("EmailTemplateTable", true)); }
public EmailResponseDto <EmailTemplateTable> AddEmailTemplate(EmailTemplateTable templateInput) { var response = new EmailResponseDto <EmailTemplateTable>(); try { var template = _context.EmailTemplates.FirstOrDefault(st => st.Name.ToLower().Equals(templateInput.Name.ToLower()) && st.EmailPoolID.Equals(templateInput.EmailPoolID) && (string.IsNullOrEmpty(templateInput.Variant) || st.Variant.ToLower().Equals(templateInput.Variant.ToLower()))); if (template != null) { response.Status = false; response.Message = $"This template is already used."; response.Result = templateInput; } else { templateInput.ID = Guid.NewGuid().ToString(); _context.EmailTemplates.Add(templateInput); if (_context.SaveChanges() == 1) { response.Status = true; response.Message = "Added"; response.Result = templateInput; } else { response.Status = false; response.Message = "Not Added"; response.Result = templateInput; } } return(response); } catch (Exception ex) { response.Status = false; response.Message = ex.Message; return(response); } }
public EmailResponseDto <EmailTemplateTable> UpdateEmailTemplate(EmailTemplateTable templateInput) { var response = new EmailResponseDto <EmailTemplateTable>(); try { var template = _context.EmailTemplates.FirstOrDefault(st => st.Name.ToLower().Equals(templateInput.Name.ToLower()) && st.EmailPoolID.Equals(templateInput.EmailPoolID) && (string.IsNullOrEmpty(templateInput.Variant) || st.Variant.ToLower().Equals(templateInput.Variant.ToLower()))); if (template != null) { template.MessageTemplate = templateInput.MessageTemplate; template.Sender = templateInput.Sender; if (_context.SaveChanges() == 1) { response.Status = true; response.Message = "Updated"; response.Result = templateInput; } else { response.Status = false; response.Message = "Failed To Update"; response.Result = templateInput; } } else { response.Status = false; response.Message = $"Unable to find template with name {templateInput.Name} and variant {templateInput.Variant}"; response.Result = templateInput; } return(response); } catch (Exception ex) { response.Status = false; response.Message = ex.Message; return(response); } }
public EmailTemplateTable GetEmailTemplate(string templateName, string channelKey, string variant = null) { var emailTemplate = new EmailTemplateTable(); var emailQry = (from t in _context.EmailTemplates join c in _context.EmailChannels on t.EmailPoolID equals c.EmailPoolID where c.Key.ToLower().Equals(channelKey.ToLower()) && (t.Name.Equals(templateName) && string.IsNullOrEmpty(variant) || !string.IsNullOrEmpty(variant) && t.Name.Equals(templateName) && t.Variant.ToLower().Equals(variant.ToLower())) select t).ToList(); if (!string.IsNullOrEmpty(variant)) { emailTemplate = emailQry.FirstOrDefault(st => !string.IsNullOrEmpty(st.Variant)); } else { emailTemplate = emailQry.FirstOrDefault(); } _logger.LogDebug($"Template used : {emailTemplate?.Name}"); return(emailTemplate); }