public async Task <DirectEmailTemplate> GetTemplateAsync(int templateId, int languageId)
        {
            var template = await _directEmailTemplateRepository
                           .GetWithTextByIdAsync(templateId, languageId);

            if (template?.Id == null)
            {
                throw new GraException($"Unable to find template id {templateId}");
            }

            return(template);
        }
Пример #2
0
        private async Task <DirectEmailTemplate> GetDirectEmailTemplateAsync(
            string templateSystemId,
            int templateId,
            int languageId)
        {
            var useTemplateId = string.IsNullOrEmpty(templateSystemId);

            var cacheKey = useTemplateId
                    ? GetCacheKey(CacheKey.DirectEmailTemplateId, templateId, languageId)
                    : GetCacheKey(CacheKey.DirectEmailTemplateSystemId,
                                  templateSystemId,
                                  languageId);

            var cacheTemplate = await _cache.GetObjectFromCacheAsync <DirectEmailTemplate>(cacheKey);

            if (cacheTemplate != null)
            {
                return(cacheTemplate);
            }

            var directEmailTemplate = useTemplateId
                ? await _directEmailTemplateRepository.GetWithTextByIdAsync(templateId, languageId)
                : await _directEmailTemplateRepository
                                      .GetWithTextBySystemId(templateSystemId, languageId);

            if (directEmailTemplate != null)
            {
                await _cache.SaveToCacheAsync(cacheKey,
                                              directEmailTemplate,
                                              CacheEmailTemplatesHours);
            }

            return(directEmailTemplate);
        }