public async Task <EmailTemplate> GetTemplateAsync(AspectEnums.TemplateType type, AspectEnums.EmailTemplateCode?code) { var spec = code != null ? new EmailTemplateFilterSpecification((int)type, (int)code) : new EmailTemplateFilterSpecification((int)type); return(await _emailTemplateRepository.FirstOrDefaultAsync(spec)); }
public async Task <EmailTemplate> GetEmailWithFieldsAsync(AspectEnums.TemplateType type, AspectEnums.EmailTemplateCode?code) { if (code != null) { return(await _dbContext.EmailTemplate.Include("EmailMergeFields").FirstOrDefaultAsync(x => x.Type == (int)type && x.TemplateCode == (int)code)); } return(await _dbContext.EmailTemplate.Include("EmailMergeFields").AsNoTracking().FirstOrDefaultAsync(x => x.Type == (int)type)); }
public async Task <EmailTemplateDto> GetEmailTemplateAsync(AspectEnums.TemplateType type, AspectEnums.EmailTemplateCode?code) { var template = await _emailRepository.GetEmailWithFieldsAsync(type, code); return(_mapper.Map <EmailTemplate, EmailTemplateDto>(template)); }
public async Task PrepareAndSendEmailAsync(UserMasterDto user, string otherText, AspectEnums.TemplateType type, AspectEnums.EmailTemplateCode?code) { var template = await _emailRepository.GetEmailWithFieldsAsync(type, code); var email = PrepareEmailBody(user, otherText, template); await SendEmailAsync(email); }