| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- using System;
- using System.Collections.Concurrent;
- using System.Text;
- using Abp.Dependency;
- using Abp.IO.Extensions;
- using Abp.Reflection.Extensions;
- using IwbZeroCore.Net.Emailing;
- namespace ShwasherSys.Emailing
- {
- public class EmailTemplateProvider : IEmailTemplateProvider, ISingletonDependency
- {
- //private readonly IWebUrlService _webUrlService;
- private readonly ConcurrentDictionary<string, string> _defaultTemplates;
- public EmailTemplateProvider()
- {
- //_webUrlService = webUrlService;
- _defaultTemplates = new ConcurrentDictionary<string, string>();
- }
- public string GetDefaultTemplate(int? tenantId)
- {
- var tenancyKey = tenantId.HasValue ? tenantId.Value.ToString() : "host";
- return _defaultTemplates.GetOrAdd(tenancyKey, key =>
- {
- using (var stream = typeof(EmailTemplateProvider).GetAssembly().GetManifestResourceStream("ShwasherSys.Emailing.EmailTemplates.default.html"))
- {
- var bytes = stream.GetAllBytes();
- var template = Encoding.UTF8.GetString(bytes, 3, bytes.Length - 3);
- template = template.Replace("{THIS_YEAR}", DateTime.Now.Year.ToString());
- return template.Replace("{EMAIL_LOGO_URL}", GetTenantLogoUrl(tenantId));
- }
- });
- }
- private string GetTenantLogoUrl(int? tenantId)
- {
- return ""; //_webUrlService.GetServerRootAddress().EnsureEndsWith('/') + "img/logo.png";
- //if (!tenantId.HasValue)
- //{
- // return _webUrlService.GetServerRootAddress().EnsureEndsWith('/') + "img/logo/logo.png";
- //}
- //var tenant = _tenantCache.Get(tenantId.Value);
- //return _webUrlService.GetServerRootAddress(tenant.TenancyName).EnsureEndsWith('/') + "img/logo/" + tenantId.Value+ "/logo.png";
- }
- }
- }
|