整理MailServer 修改发送邮件根据工作语言
continuous-integration/drone/push Build is running
Details
continuous-integration/drone/push Build is running
Details
parent
005b0b9e0d
commit
32c38e9f95
|
|
@ -97,7 +97,15 @@ Func<(string topicStr, string htmlBodyStr), (string topicStr, string htmlBodyStr
|
||||||
return configInfo;
|
return configInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static string ReplacePlatformName(SystemEmailSendConfig _systemEmailConfig, string needDealtxt, UserWorkLanguage? userWorkLanguage = null)
|
||||||
|
{
|
||||||
|
var isEn_US = userWorkLanguage.HasValue ? userWorkLanguage.Value == UserWorkLanguage.US : CultureInfo.CurrentCulture.Name == StaticData.CultureInfo.en_US;
|
||||||
|
|
||||||
|
var platformName = isEn_US ? _systemEmailConfig.PlatformName : _systemEmailConfig.PlatformNameCN;
|
||||||
|
|
||||||
|
var str = needDealtxt.Replace("{platformName}", platformName);
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public static string ReplaceCompanyName(SystemEmailSendConfig _systemEmailConfig, string needDealtxt, UserWorkLanguage? userWorkLanguage = null)
|
public static string ReplaceCompanyName(SystemEmailSendConfig _systemEmailConfig, string needDealtxt, UserWorkLanguage? userWorkLanguage = null)
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
using IRaCIS.Application.Contracts;
|
using DocumentFormat.OpenXml.Spreadsheet;
|
||||||
|
using IRaCIS.Application.Contracts;
|
||||||
using IRaCIS.Core.Application.Auth;
|
using IRaCIS.Core.Application.Auth;
|
||||||
using IRaCIS.Core.Application.Helper;
|
using IRaCIS.Core.Application.Helper;
|
||||||
|
using IRaCIS.Core.Application.MassTransit.Consumer;
|
||||||
using IRaCIS.Core.Domain.Models;
|
using IRaCIS.Core.Domain.Models;
|
||||||
using IRaCIS.Core.Domain.Share;
|
using IRaCIS.Core.Domain.Share;
|
||||||
using IRaCIS.Core.Infrastructure;
|
using IRaCIS.Core.Infrastructure;
|
||||||
|
|
@ -192,24 +194,16 @@ namespace IRaCIS.Core.Application.Service
|
||||||
return sucessHandle;
|
return sucessHandle;
|
||||||
}
|
}
|
||||||
|
|
||||||
private string ReplaceCompanyName(string needDealtxt)
|
|
||||||
{
|
|
||||||
var str = needDealtxt.Replace("{company}", _userInfo.IsEn_Us ? _systemEmailConfig.CompanyName : _systemEmailConfig.CompanyNameCN)
|
|
||||||
.Replace("{company abbreviation}", _userInfo.IsEn_Us ? _systemEmailConfig.CompanyShortName : _systemEmailConfig.CompanyShortNameCN);
|
|
||||||
return str;
|
|
||||||
}
|
|
||||||
|
|
||||||
private string ReplacePlatformName(string needDealtxt)
|
|
||||||
{
|
|
||||||
var platformName = _userInfo.IsEn_Us ? _systemEmailConfig.PlatformName : _systemEmailConfig.PlatformNameCN;
|
|
||||||
|
|
||||||
var str = needDealtxt.Replace("{platformName}", platformName);
|
|
||||||
return str;
|
|
||||||
}
|
|
||||||
|
|
||||||
//MFA
|
//MFA
|
||||||
public async Task SenMFAVerifyEmail(Guid userId, string userName, string emailAddress, int verificationCode, UserMFAType mfaType = UserMFAType.Login)
|
public async Task SenMFAVerifyEmail(Guid userId, string userName, string emailAddress, int verificationCode, UserMFAType mfaType = UserMFAType.Login)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
//设置工作语言
|
||||||
|
var workLanguage = _identityUserRepository.Where(t => t.Id == userId).Select(t => t.UserWorkLanguage).First();
|
||||||
|
var isEn_US = workLanguage == UserWorkLanguage.US;
|
||||||
|
|
||||||
var messageToSend = new MimeMessage();
|
var messageToSend = new MimeMessage();
|
||||||
//发件地址
|
//发件地址
|
||||||
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
|
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
|
||||||
|
|
@ -217,13 +211,13 @@ namespace IRaCIS.Core.Application.Service
|
||||||
messageToSend.To.Add(new MailboxAddress(userName, emailAddress));
|
messageToSend.To.Add(new MailboxAddress(userName, emailAddress));
|
||||||
//主题---[来自{0}] 关于MFA邮箱验证的提醒
|
//主题---[来自{0}] 关于MFA邮箱验证的提醒
|
||||||
|
|
||||||
var companyName = _userInfo.IsEn_Us ? _systemEmailConfig.CompanyShortName : _systemEmailConfig.CompanyShortNameCN;
|
var companyName = isEn_US ? _systemEmailConfig.CompanyShortName : _systemEmailConfig.CompanyShortNameCN;
|
||||||
|
|
||||||
Func<(string topicStr, string htmlBodyStr), (string topicStr, string htmlBodyStr)> emailConfigFunc = input =>
|
Func<(string topicStr, string htmlBodyStr), (string topicStr, string htmlBodyStr)> emailConfigFunc = input =>
|
||||||
{
|
{
|
||||||
var topicStr = string.Format(input.topicStr, companyName);
|
var topicStr = string.Format(input.topicStr, companyName);
|
||||||
|
|
||||||
var htmlBodyStr = string.Format(ReplaceCompanyName(input.htmlBodyStr),
|
var htmlBodyStr = string.Format(CommonEmailHelper.ReplaceCompanyName(_systemEmailConfig, input.htmlBodyStr, workLanguage),
|
||||||
userName,
|
userName,
|
||||||
verificationCode
|
verificationCode
|
||||||
);
|
);
|
||||||
|
|
@ -232,7 +226,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
await GetEmailSubejctAndHtmlInfoAndBuildAsync(mfaType == UserMFAType.Login ? EmailBusinessScenario.MFALogin : EmailBusinessScenario.MFAUnlock, messageToSend, emailConfigFunc);
|
await GetEmailSubejctAndHtmlInfoAndBuildAsync(mfaType == UserMFAType.Login ? EmailBusinessScenario.MFALogin : EmailBusinessScenario.MFAUnlock, messageToSend, emailConfigFunc, workLanguage);
|
||||||
|
|
||||||
|
|
||||||
var sucessHandle = GetEmailSuccessHandle(userId, verificationCode, emailAddress);
|
var sucessHandle = GetEmailSuccessHandle(userId, verificationCode, emailAddress);
|
||||||
|
|
@ -255,6 +249,11 @@ namespace IRaCIS.Core.Application.Service
|
||||||
public async Task SendEmailVerification(string emailAddress, int verificationCode)
|
public async Task SendEmailVerification(string emailAddress, int verificationCode)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
//设置工作语言
|
||||||
|
var isEn_US = _userInfo.IsEn_Us;
|
||||||
|
var workLanguage = _userInfo.IsEn_Us ? UserWorkLanguage.US : UserWorkLanguage.CN;
|
||||||
|
|
||||||
|
|
||||||
var messageToSend = new MimeMessage();
|
var messageToSend = new MimeMessage();
|
||||||
//发件地址
|
//发件地址
|
||||||
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
|
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
|
||||||
|
|
@ -263,13 +262,13 @@ namespace IRaCIS.Core.Application.Service
|
||||||
//主题
|
//主题
|
||||||
//---[来自展影IRC]的提醒
|
//---[来自展影IRC]的提醒
|
||||||
|
|
||||||
var companyName = _userInfo.IsEn_Us ? _systemEmailConfig.CompanyShortName : _systemEmailConfig.CompanyShortNameCN;
|
var companyName = isEn_US ? _systemEmailConfig.CompanyShortName : _systemEmailConfig.CompanyShortNameCN;
|
||||||
|
|
||||||
Func<(string topicStr, string htmlBodyStr), (string topicStr, string htmlBodyStr)> emailConfigFunc = input =>
|
Func<(string topicStr, string htmlBodyStr), (string topicStr, string htmlBodyStr)> emailConfigFunc = input =>
|
||||||
{
|
{
|
||||||
var topicStr = string.Format(input.topicStr, companyName);
|
var topicStr = string.Format(input.topicStr, companyName);
|
||||||
|
|
||||||
var htmlBodyStr = string.Format(ReplaceCompanyName(input.htmlBodyStr),
|
var htmlBodyStr = string.Format(CommonEmailHelper.ReplaceCompanyName(_systemEmailConfig, input.htmlBodyStr, workLanguage),
|
||||||
|
|
||||||
"Sir/Madam",
|
"Sir/Madam",
|
||||||
//---您正在参与展影医疗IRC项目
|
//---您正在参与展影医疗IRC项目
|
||||||
|
|
@ -281,7 +280,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
await GetEmailSubejctAndHtmlInfoAndBuildAsync(EmailBusinessScenario.ReviewerLogin, messageToSend, emailConfigFunc);
|
await GetEmailSubejctAndHtmlInfoAndBuildAsync(EmailBusinessScenario.ReviewerLogin, messageToSend, emailConfigFunc, workLanguage);
|
||||||
|
|
||||||
//此时不知道用户
|
//此时不知道用户
|
||||||
var sucessHandle = GetEmailSuccessHandle(Guid.Empty, verificationCode, emailAddress);
|
var sucessHandle = GetEmailSuccessHandle(Guid.Empty, verificationCode, emailAddress);
|
||||||
|
|
@ -296,8 +295,10 @@ namespace IRaCIS.Core.Application.Service
|
||||||
//中心调研 登陆 发送验证码
|
//中心调研 登陆 发送验证码
|
||||||
public async Task AnolymousSendEmail(Guid trialId, string emailAddress, int verificationCode)
|
public async Task AnolymousSendEmail(Guid trialId, string emailAddress, int verificationCode)
|
||||||
{
|
{
|
||||||
//throw new BusinessValidationFailedException("模拟邮件取数据或者发送异常!!!");
|
|
||||||
|
|
||||||
|
//设置工作语言
|
||||||
|
var isEn_US = _userInfo.IsEn_Us;
|
||||||
|
var workLanguage = _userInfo.IsEn_Us ? UserWorkLanguage.US : UserWorkLanguage.CN;
|
||||||
|
|
||||||
var trialInfo = await _trialRepository.FirstOrDefaultAsync(t => t.Id == trialId);
|
var trialInfo = await _trialRepository.FirstOrDefaultAsync(t => t.Id == trialId);
|
||||||
|
|
||||||
|
|
@ -309,13 +310,13 @@ namespace IRaCIS.Core.Application.Service
|
||||||
//主题
|
//主题
|
||||||
//$"[来自展影IRC] [{researchProgramNo}] 关于中心调研的提醒";
|
//$"[来自展影IRC] [{researchProgramNo}] 关于中心调研的提醒";
|
||||||
|
|
||||||
var companyName = _userInfo.IsEn_Us ? _systemEmailConfig.CompanyShortName : _systemEmailConfig.CompanyShortNameCN;
|
var companyName = isEn_US ? _systemEmailConfig.CompanyShortName : _systemEmailConfig.CompanyShortNameCN;
|
||||||
|
|
||||||
Func<(string topicStr, string htmlBodyStr), (string topicStr, string htmlBodyStr)> emailConfigFunc = input =>
|
Func<(string topicStr, string htmlBodyStr), (string topicStr, string htmlBodyStr)> emailConfigFunc = input =>
|
||||||
{
|
{
|
||||||
var topicStr = string.Format(input.topicStr, companyName, trialInfo.ResearchProgramNo);
|
var topicStr = string.Format(input.topicStr, companyName, trialInfo.ResearchProgramNo);
|
||||||
|
|
||||||
var htmlBodyStr = string.Format(ReplaceCompanyName(input.htmlBodyStr),
|
var htmlBodyStr = string.Format(CommonEmailHelper.ReplaceCompanyName(_systemEmailConfig, input.htmlBodyStr, workLanguage),
|
||||||
|
|
||||||
"Sir/Madam",
|
"Sir/Madam",
|
||||||
//---您正在参与展影医疗IRC项目中心调研工作
|
//---您正在参与展影医疗IRC项目中心调研工作
|
||||||
|
|
@ -327,7 +328,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
await GetEmailSubejctAndHtmlInfoAndBuildAsync(EmailBusinessScenario.SiteSurveyLogin, messageToSend, emailConfigFunc);
|
await GetEmailSubejctAndHtmlInfoAndBuildAsync(EmailBusinessScenario.SiteSurveyLogin, messageToSend, emailConfigFunc, workLanguage);
|
||||||
|
|
||||||
//此时不知道用户
|
//此时不知道用户
|
||||||
var sucessHandle = GetEmailSuccessHandle(Guid.Empty, verificationCode, emailAddress);
|
var sucessHandle = GetEmailSuccessHandle(Guid.Empty, verificationCode, emailAddress);
|
||||||
|
|
@ -345,6 +346,9 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
var sysUserInfo = (await _identityUserRepository.Where(t => t.Id == userId).Include(t => t.UserRoleList).ThenInclude(c => c.UserTypeRole).FirstOrDefaultAsync()).IfNullThrowException();
|
var sysUserInfo = (await _identityUserRepository.Where(t => t.Id == userId).Include(t => t.UserRoleList).ThenInclude(c => c.UserTypeRole).FirstOrDefaultAsync()).IfNullThrowException();
|
||||||
|
|
||||||
|
//设置工作语言
|
||||||
|
var workLanguage = sysUserInfo.UserWorkLanguage;
|
||||||
|
var isEn_US = workLanguage == UserWorkLanguage.US;
|
||||||
|
|
||||||
var messageToSend = new MimeMessage();
|
var messageToSend = new MimeMessage();
|
||||||
//发件地址
|
//发件地址
|
||||||
|
|
@ -365,13 +369,13 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
var redirectUrl = $"{domain}/api/User/UserRedirect?url={System.Web.HttpUtility.UrlEncode(routeUrl)}";
|
var redirectUrl = $"{domain}/api/User/UserRedirect?url={System.Web.HttpUtility.UrlEncode(routeUrl)}";
|
||||||
|
|
||||||
var companyName = sysUserInfo.UserWorkLanguage == UserWorkLanguage.US ? _systemEmailConfig.CompanyShortName : _systemEmailConfig.CompanyShortNameCN;
|
var companyName = isEn_US ? _systemEmailConfig.CompanyShortName : _systemEmailConfig.CompanyShortNameCN;
|
||||||
|
|
||||||
Func<(string topicStr, string htmlBodyStr), (string topicStr, string htmlBodyStr)> emailConfigFunc = input =>
|
Func<(string topicStr, string htmlBodyStr), (string topicStr, string htmlBodyStr)> emailConfigFunc = input =>
|
||||||
{
|
{
|
||||||
var topicStr = string.Format(input.topicStr, companyName);
|
var topicStr = string.Format(input.topicStr, companyName);
|
||||||
|
|
||||||
var htmlBodyStr = string.Format(ReplaceCompanyName(input.htmlBodyStr),
|
var htmlBodyStr = string.Format(CommonEmailHelper.ReplaceCompanyName(_systemEmailConfig, input.htmlBodyStr, workLanguage),
|
||||||
|
|
||||||
sysUserInfo.FullName,
|
sysUserInfo.FullName,
|
||||||
sysUserInfo.EMail,
|
sysUserInfo.EMail,
|
||||||
|
|
@ -394,6 +398,11 @@ namespace IRaCIS.Core.Application.Service
|
||||||
{
|
{
|
||||||
var sysUserInfo = (await _identityUserRepository.Where(t => t.Id == userId).Include(t => t.UserRoleList).ThenInclude(c => c.UserTypeRole).FirstOrDefaultAsync()).IfNullThrowException();
|
var sysUserInfo = (await _identityUserRepository.Where(t => t.Id == userId).Include(t => t.UserRoleList).ThenInclude(c => c.UserTypeRole).FirstOrDefaultAsync()).IfNullThrowException();
|
||||||
|
|
||||||
|
|
||||||
|
//设置工作语言
|
||||||
|
var workLanguage = sysUserInfo.UserWorkLanguage;
|
||||||
|
var isEn_US = workLanguage == UserWorkLanguage.US;
|
||||||
|
|
||||||
var messageToSend = new MimeMessage();
|
var messageToSend = new MimeMessage();
|
||||||
//发件地址
|
//发件地址
|
||||||
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
|
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
|
||||||
|
|
@ -402,13 +411,13 @@ namespace IRaCIS.Core.Application.Service
|
||||||
//主题
|
//主题
|
||||||
//---[来自展影IRC] 关于重置账户密码的提醒
|
//---[来自展影IRC] 关于重置账户密码的提醒
|
||||||
|
|
||||||
var companyName = sysUserInfo.UserWorkLanguage == UserWorkLanguage.US ? _systemEmailConfig.CompanyShortName : _systemEmailConfig.CompanyShortNameCN;
|
var companyName = isEn_US ? _systemEmailConfig.CompanyShortName : _systemEmailConfig.CompanyShortNameCN;
|
||||||
|
|
||||||
Func<(string topicStr, string htmlBodyStr), (string topicStr, string htmlBodyStr)> emailConfigFunc = input =>
|
Func<(string topicStr, string htmlBodyStr), (string topicStr, string htmlBodyStr)> emailConfigFunc = input =>
|
||||||
{
|
{
|
||||||
var topicStr = string.Format(input.topicStr, companyName);
|
var topicStr = string.Format(input.topicStr, companyName);
|
||||||
|
|
||||||
var htmlBodyStr = string.Format(ReplaceCompanyName(input.htmlBodyStr),
|
var htmlBodyStr = string.Format(CommonEmailHelper.ReplaceCompanyName(_systemEmailConfig, input.htmlBodyStr, workLanguage),
|
||||||
|
|
||||||
sysUserInfo.FullName,
|
sysUserInfo.FullName,
|
||||||
sysUserInfo.UserName,
|
sysUserInfo.UserName,
|
||||||
|
|
@ -430,6 +439,10 @@ namespace IRaCIS.Core.Application.Service
|
||||||
//用户重置邮箱
|
//用户重置邮箱
|
||||||
public async Task SendMailEditEmail(Guid userId, string userName, string emailAddress, int verificationCode)
|
public async Task SendMailEditEmail(Guid userId, string userName, string emailAddress, int verificationCode)
|
||||||
{
|
{
|
||||||
|
//设置工作语言
|
||||||
|
var workLanguage = _identityUserRepository.Where(t => t.Id == userId).Select(t => t.UserWorkLanguage).First();
|
||||||
|
var isEn_US = workLanguage == UserWorkLanguage.US;
|
||||||
|
|
||||||
|
|
||||||
var messageToSend = new MimeMessage();
|
var messageToSend = new MimeMessage();
|
||||||
//发件地址
|
//发件地址
|
||||||
|
|
@ -439,13 +452,13 @@ namespace IRaCIS.Core.Application.Service
|
||||||
//主题
|
//主题
|
||||||
//---[来自展影IRC] 关于重置邮箱的提醒
|
//---[来自展影IRC] 关于重置邮箱的提醒
|
||||||
|
|
||||||
var companyName = _userInfo.IsEn_Us ? _systemEmailConfig.CompanyShortName : _systemEmailConfig.CompanyShortNameCN;
|
var companyName = isEn_US ? _systemEmailConfig.CompanyShortName : _systemEmailConfig.CompanyShortNameCN;
|
||||||
|
|
||||||
Func<(string topicStr, string htmlBodyStr), (string topicStr, string htmlBodyStr)> emailConfigFunc = input =>
|
Func<(string topicStr, string htmlBodyStr), (string topicStr, string htmlBodyStr)> emailConfigFunc = input =>
|
||||||
{
|
{
|
||||||
var topicStr = string.Format(input.topicStr, companyName);
|
var topicStr = string.Format(input.topicStr, companyName);
|
||||||
|
|
||||||
var htmlBodyStr = string.Format(ReplaceCompanyName(input.htmlBodyStr),
|
var htmlBodyStr = string.Format(CommonEmailHelper.ReplaceCompanyName(_systemEmailConfig, input.htmlBodyStr, workLanguage),
|
||||||
|
|
||||||
userName,
|
userName,
|
||||||
//---您正在进行邮箱重置操作
|
//---您正在进行邮箱重置操作
|
||||||
|
|
@ -456,7 +469,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
await GetEmailSubejctAndHtmlInfoAndBuildAsync(EmailBusinessScenario.UserResetEmail, messageToSend, emailConfigFunc);
|
await GetEmailSubejctAndHtmlInfoAndBuildAsync(EmailBusinessScenario.UserResetEmail, messageToSend, emailConfigFunc, workLanguage);
|
||||||
|
|
||||||
|
|
||||||
var sucessHandle = GetEmailSuccessHandle(userId, verificationCode, emailAddress);
|
var sucessHandle = GetEmailSuccessHandle(userId, verificationCode, emailAddress);
|
||||||
|
|
@ -469,6 +482,11 @@ namespace IRaCIS.Core.Application.Service
|
||||||
//不登录 通过邮箱重置密码
|
//不登录 通过邮箱重置密码
|
||||||
public async Task AnolymousSendEmailForResetAccount(string emailAddress, int verificationCode)
|
public async Task AnolymousSendEmailForResetAccount(string emailAddress, int verificationCode)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
//设置工作语言
|
||||||
|
var isEn_US = _userInfo.IsEn_Us;
|
||||||
|
var workLanguage = _userInfo.IsEn_Us ? UserWorkLanguage.US : UserWorkLanguage.CN;
|
||||||
|
|
||||||
var messageToSend = new MimeMessage();
|
var messageToSend = new MimeMessage();
|
||||||
//发件地址
|
//发件地址
|
||||||
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
|
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
|
||||||
|
|
@ -476,13 +494,13 @@ namespace IRaCIS.Core.Application.Service
|
||||||
messageToSend.To.Add(new MailboxAddress(String.Empty, emailAddress));
|
messageToSend.To.Add(new MailboxAddress(String.Empty, emailAddress));
|
||||||
|
|
||||||
|
|
||||||
var companyName = _userInfo.IsEn_Us ? _systemEmailConfig.CompanyShortName : _systemEmailConfig.CompanyShortNameCN;
|
var companyName = isEn_US ? _systemEmailConfig.CompanyShortName : _systemEmailConfig.CompanyShortNameCN;
|
||||||
|
|
||||||
Func<(string topicStr, string htmlBodyStr), (string topicStr, string htmlBodyStr)> emailConfigFunc = input =>
|
Func<(string topicStr, string htmlBodyStr), (string topicStr, string htmlBodyStr)> emailConfigFunc = input =>
|
||||||
{
|
{
|
||||||
var topicStr = string.Format(input.topicStr, companyName);
|
var topicStr = string.Format(input.topicStr, companyName);
|
||||||
|
|
||||||
var htmlBodyStr = string.Format(ReplaceCompanyName(input.htmlBodyStr),
|
var htmlBodyStr = string.Format(CommonEmailHelper.ReplaceCompanyName(_systemEmailConfig, input.htmlBodyStr, workLanguage),
|
||||||
|
|
||||||
"Sir/Madam",
|
"Sir/Madam",
|
||||||
//---您正在进行邮箱重置密码操作
|
//---您正在进行邮箱重置密码操作
|
||||||
|
|
@ -493,7 +511,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
await GetEmailSubejctAndHtmlInfoAndBuildAsync(EmailBusinessScenario.UnloginUseEmailResetPassword, messageToSend, emailConfigFunc);
|
await GetEmailSubejctAndHtmlInfoAndBuildAsync(EmailBusinessScenario.UnloginUseEmailResetPassword, messageToSend, emailConfigFunc, workLanguage);
|
||||||
|
|
||||||
////此时不知道用户
|
////此时不知道用户
|
||||||
var sucessHandle = GetEmailSuccessHandle(Guid.Empty, verificationCode, emailAddress);
|
var sucessHandle = GetEmailSuccessHandle(Guid.Empty, verificationCode, emailAddress);
|
||||||
|
|
@ -509,6 +527,11 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
var sysUserInfo = (await _identityUserRepository.Where(t => t.Id == userId).FirstOrDefaultAsync()).IfNullThrowException();
|
var sysUserInfo = (await _identityUserRepository.Where(t => t.Id == userId).FirstOrDefaultAsync()).IfNullThrowException();
|
||||||
|
|
||||||
|
//设置工作语言
|
||||||
|
var workLanguage = sysUserInfo.UserWorkLanguage;
|
||||||
|
var isEn_US = workLanguage == UserWorkLanguage.US;
|
||||||
|
|
||||||
|
|
||||||
var messageToSend = new MimeMessage();
|
var messageToSend = new MimeMessage();
|
||||||
//发件地址
|
//发件地址
|
||||||
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
|
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
|
||||||
|
|
@ -527,18 +550,18 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
var domain = baseUrl.Substring(0, baseUrl.IndexOf("/login"));
|
var domain = baseUrl.Substring(0, baseUrl.IndexOf("/login"));
|
||||||
|
|
||||||
var routeUrl = rootUrl + "?UserId=" + sysUserInfo.Id + "&Email=" + sysUserInfo.EMail + "&lang=" + (_userInfo.IsEn_Us ? "en" : "zh") + "&access_token=" + token;
|
var routeUrl = rootUrl + "?UserId=" + sysUserInfo.Id + "&Email=" + sysUserInfo.EMail + "&lang=" + (isEn_US ? "en" : "zh") + "&access_token=" + token;
|
||||||
|
|
||||||
var redirectUrl = $"{domain}/api/User/UserRedirect?url={System.Web.HttpUtility.UrlEncode(routeUrl)}";
|
var redirectUrl = $"{domain}/api/User/UserRedirect?url={System.Web.HttpUtility.UrlEncode(routeUrl)}";
|
||||||
|
|
||||||
|
|
||||||
var companyName = _userInfo.IsEn_Us ? _systemEmailConfig.CompanyShortName : _systemEmailConfig.CompanyShortNameCN;
|
var companyName = isEn_US ? _systemEmailConfig.CompanyShortName : _systemEmailConfig.CompanyShortNameCN;
|
||||||
|
|
||||||
Func<(string topicStr, string htmlBodyStr), (string topicStr, string htmlBodyStr)> emailConfigFunc = input =>
|
Func<(string topicStr, string htmlBodyStr), (string topicStr, string htmlBodyStr)> emailConfigFunc = input =>
|
||||||
{
|
{
|
||||||
var topicStr = string.Format(input.topicStr, companyName, trialInfo.ResearchProgramNo);
|
var topicStr = string.Format(input.topicStr, companyName, trialInfo.ResearchProgramNo);
|
||||||
|
|
||||||
var htmlBodyStr = string.Format(ReplaceCompanyName(input.htmlBodyStr),
|
var htmlBodyStr = string.Format(CommonEmailHelper.ReplaceCompanyName(_systemEmailConfig, input.htmlBodyStr, workLanguage),
|
||||||
|
|
||||||
sysUserInfo.FullName,
|
sysUserInfo.FullName,
|
||||||
trialInfo.ExperimentName,
|
trialInfo.ExperimentName,
|
||||||
|
|
@ -553,9 +576,9 @@ namespace IRaCIS.Core.Application.Service
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
await GetEmailSubejctAndHtmlInfoAndBuildAsync(sysUserInfo.IsFirstAdd ? EmailBusinessScenario.SiteUseOrExternalUserFirstrJoinTrial : EmailBusinessScenario.SiteUserOrExternalUserExistJoinTrial, messageToSend, emailConfigFunc);
|
await GetEmailSubejctAndHtmlInfoAndBuildAsync(sysUserInfo.IsFirstAdd ? EmailBusinessScenario.SiteUseOrExternalUserFirstrJoinTrial : EmailBusinessScenario.SiteUserOrExternalUserExistJoinTrial, messageToSend, emailConfigFunc, workLanguage);
|
||||||
|
|
||||||
await SendEmailHelper.SendEmailAsync(messageToSend, trialInfo, null);
|
await SendEmailHelper.SendEmailAsync(messageToSend, trialInfo);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -564,10 +587,12 @@ namespace IRaCIS.Core.Application.Service
|
||||||
{
|
{
|
||||||
var sysUserInfo = (await _identityUserRepository.Where(t => t.Id == userId).FirstOrDefaultAsync()).IfNullThrowException();
|
var sysUserInfo = (await _identityUserRepository.Where(t => t.Id == userId).FirstOrDefaultAsync()).IfNullThrowException();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var trialInfo = await _trialRepository.FirstOrDefaultAsync(t => t.Id == trialId);
|
var trialInfo = await _trialRepository.FirstOrDefaultAsync(t => t.Id == trialId);
|
||||||
|
|
||||||
|
//设置工作语言
|
||||||
|
var workLanguage = sysUserInfo.UserWorkLanguage;
|
||||||
|
var isEn_US = workLanguage == UserWorkLanguage.US;
|
||||||
|
|
||||||
var messageToSend = new MimeMessage();
|
var messageToSend = new MimeMessage();
|
||||||
//发件地址
|
//发件地址
|
||||||
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
|
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
|
||||||
|
|
@ -584,20 +609,20 @@ namespace IRaCIS.Core.Application.Service
|
||||||
await _identityUserRepository.BatchUpdateNoTrackingAsync(t => t.Id == sysUserInfo.Id, u => new Domain.Models.IdentityUser() { EmailToken = token });
|
await _identityUserRepository.BatchUpdateNoTrackingAsync(t => t.Id == sysUserInfo.Id, u => new Domain.Models.IdentityUser() { EmailToken = token });
|
||||||
}
|
}
|
||||||
|
|
||||||
var routeUrl = rootUrl + "?UserId=" + sysUserInfo.Id + "&Email=" + sysUserInfo.EMail + "&lang=" + (_userInfo.IsEn_Us ? "en" : "zh") + "&access_token=" + token;
|
var routeUrl = rootUrl + "?UserId=" + sysUserInfo.Id + "&Email=" + sysUserInfo.EMail + "&lang=" + (isEn_US ? "en" : "zh") + "&access_token=" + token;
|
||||||
|
|
||||||
var domain = baseUrl.Substring(0, baseUrl.IndexOf("/login"));
|
var domain = baseUrl.Substring(0, baseUrl.IndexOf("/login"));
|
||||||
|
|
||||||
var redirectUrl = $"{domain}/api/User/UserRedirect?url={System.Web.HttpUtility.UrlEncode(routeUrl)}";
|
var redirectUrl = $"{domain}/api/User/UserRedirect?url={System.Web.HttpUtility.UrlEncode(routeUrl)}";
|
||||||
|
|
||||||
|
|
||||||
var companyName = _userInfo.IsEn_Us ? _systemEmailConfig.CompanyShortName : _systemEmailConfig.CompanyShortNameCN;
|
var companyName = isEn_US ? _systemEmailConfig.CompanyShortName : _systemEmailConfig.CompanyShortNameCN;
|
||||||
|
|
||||||
Func<(string topicStr, string htmlBodyStr), (string topicStr, string htmlBodyStr)> emailConfigFunc = input =>
|
Func<(string topicStr, string htmlBodyStr), (string topicStr, string htmlBodyStr)> emailConfigFunc = input =>
|
||||||
{
|
{
|
||||||
var topicStr = string.Format(input.topicStr, companyName, trialInfo.ResearchProgramNo);
|
var topicStr = string.Format(input.topicStr, companyName, trialInfo.ResearchProgramNo);
|
||||||
|
|
||||||
var htmlBodyStr = string.Format(ReplaceCompanyName(input.htmlBodyStr),
|
var htmlBodyStr = string.Format(CommonEmailHelper.ReplaceCompanyName(_systemEmailConfig, input.htmlBodyStr, workLanguage),
|
||||||
|
|
||||||
sysUserInfo.FullName,
|
sysUserInfo.FullName,
|
||||||
trialInfo.ExperimentName,
|
trialInfo.ExperimentName,
|
||||||
|
|
@ -612,7 +637,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
await GetEmailSubejctAndHtmlInfoAndBuildAsync(sysUserInfo.IsFirstAdd ? EmailBusinessScenario.SiteUseOrExternalUserFirstrJoinTrial : EmailBusinessScenario.SiteUserOrExternalUserExistJoinTrial, messageToSend, emailConfigFunc);
|
await GetEmailSubejctAndHtmlInfoAndBuildAsync(sysUserInfo.IsFirstAdd ? EmailBusinessScenario.SiteUseOrExternalUserFirstrJoinTrial : EmailBusinessScenario.SiteUserOrExternalUserExistJoinTrial, messageToSend, emailConfigFunc, workLanguage);
|
||||||
|
|
||||||
await SendEmailHelper.SendEmailAsync(messageToSend, trialInfo);
|
await SendEmailHelper.SendEmailAsync(messageToSend, trialInfo);
|
||||||
|
|
||||||
|
|
@ -701,6 +726,11 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
var trialInfo = await _trialRepository.FirstOrDefaultAsync(t => t.Id == trialId);
|
var trialInfo = await _trialRepository.FirstOrDefaultAsync(t => t.Id == trialId);
|
||||||
|
|
||||||
|
|
||||||
|
//设置工作语言
|
||||||
|
var workLanguage = sysUserInfo.UserWorkLanguage;
|
||||||
|
var isEn_US = workLanguage == UserWorkLanguage.US;
|
||||||
|
|
||||||
var messageToSend = new MimeMessage();
|
var messageToSend = new MimeMessage();
|
||||||
//发件地址
|
//发件地址
|
||||||
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
|
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
|
||||||
|
|
@ -726,13 +756,13 @@ namespace IRaCIS.Core.Application.Service
|
||||||
// $"[来自展影IRC] [{trialInfo.ResearchProgramNo}]邀请信";
|
// $"[来自展影IRC] [{trialInfo.ResearchProgramNo}]邀请信";
|
||||||
|
|
||||||
|
|
||||||
var companyName = _userInfo.IsEn_Us ? _systemEmailConfig.CompanyShortName : _systemEmailConfig.CompanyShortNameCN;
|
var companyName = isEn_US ? _systemEmailConfig.CompanyShortName : _systemEmailConfig.CompanyShortNameCN;
|
||||||
|
|
||||||
Func<(string topicStr, string htmlBodyStr), (string topicStr, string htmlBodyStr)> emailConfigFunc = input =>
|
Func<(string topicStr, string htmlBodyStr), (string topicStr, string htmlBodyStr)> emailConfigFunc = input =>
|
||||||
{
|
{
|
||||||
var topicStr = string.Format(input.topicStr, companyName, trialInfo.ResearchProgramNo);
|
var topicStr = string.Format(input.topicStr, companyName, trialInfo.ResearchProgramNo);
|
||||||
|
|
||||||
var htmlBodyStr = string.Format(ReplaceCompanyName(input.htmlBodyStr),
|
var htmlBodyStr = string.Format(CommonEmailHelper.ReplaceCompanyName(_systemEmailConfig, input.htmlBodyStr, workLanguage),
|
||||||
|
|
||||||
sysUserInfo.FullName,
|
sysUserInfo.FullName,
|
||||||
trialInfo.ExperimentName,
|
trialInfo.ExperimentName,
|
||||||
|
|
@ -747,7 +777,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
await GetEmailSubejctAndHtmlInfoAndBuildAsync(sysUserInfo.IsFirstAdd ? EmailBusinessScenario.DoctorUserFirstJoinTrial : EmailBusinessScenario.DoctorUserExistJoinTrial, messageToSend, emailConfigFunc);
|
await GetEmailSubejctAndHtmlInfoAndBuildAsync(sysUserInfo.IsFirstAdd ? EmailBusinessScenario.DoctorUserFirstJoinTrial : EmailBusinessScenario.DoctorUserExistJoinTrial, messageToSend, emailConfigFunc,workLanguage);
|
||||||
|
|
||||||
await SendEmailHelper.SendEmailAsync(messageToSend, trialInfo, null);
|
await SendEmailHelper.SendEmailAsync(messageToSend, trialInfo, null);
|
||||||
|
|
||||||
|
|
@ -769,6 +799,10 @@ namespace IRaCIS.Core.Application.Service
|
||||||
{
|
{
|
||||||
var feedBack = await _userFeedBackRepository.Where(t => t.Id == feedBackId).Include(t => t.CreateUserRole.UserTypeRole).Include(t => t.CreateUserRole.IdentityUser).FirstNotNullAsync();
|
var feedBack = await _userFeedBackRepository.Where(t => t.Id == feedBackId).Include(t => t.CreateUserRole.UserTypeRole).Include(t => t.CreateUserRole.IdentityUser).FirstNotNullAsync();
|
||||||
|
|
||||||
|
//设置工作语言
|
||||||
|
var workLanguage = _identityUserRepository.Where(t => t.Id == _userInfo.IdentityUserId).Select(t => t.UserWorkLanguage).First();
|
||||||
|
var isEn_US = workLanguage == UserWorkLanguage.US;
|
||||||
|
|
||||||
var messageToSend = new MimeMessage();
|
var messageToSend = new MimeMessage();
|
||||||
//发件地址
|
//发件地址
|
||||||
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
|
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
|
||||||
|
|
@ -777,7 +811,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
var trialinfo = await _trialRepository.Where(x => x.Id == feedBack.TrialId).FirstOrDefaultAsync();
|
var trialinfo = await _trialRepository.Where(x => x.Id == feedBack.TrialId).FirstOrDefaultAsync();
|
||||||
|
|
||||||
var companyName = _userInfo.IsEn_Us ? _systemEmailConfig.CompanyShortName : _systemEmailConfig.CompanyShortNameCN;
|
var companyName = isEn_US ? _systemEmailConfig.CompanyShortName : _systemEmailConfig.CompanyShortNameCN;
|
||||||
|
|
||||||
var emialScenario = feedBack.VisitTaskId != null ? EmailBusinessScenario.IRImageError : (feedBack.SubjectVisitId != null ? EmailBusinessScenario.TrialSubjectVisitFeedBack : (feedBack.TrialId != null ? EmailBusinessScenario.TrialFeedBack : EmailBusinessScenario.SysFeedBack));
|
var emialScenario = feedBack.VisitTaskId != null ? EmailBusinessScenario.IRImageError : (feedBack.SubjectVisitId != null ? EmailBusinessScenario.TrialSubjectVisitFeedBack : (feedBack.TrialId != null ? EmailBusinessScenario.TrialFeedBack : EmailBusinessScenario.SysFeedBack));
|
||||||
|
|
||||||
|
|
@ -809,7 +843,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
{
|
{
|
||||||
var topicStr = string.Format(input.topicStr, info.ResearchProgramNo, info.SubejctCode, info.VisitName);
|
var topicStr = string.Format(input.topicStr, info.ResearchProgramNo, info.SubejctCode, info.VisitName);
|
||||||
|
|
||||||
var htmlBodyStr = string.Format(ReplaceCompanyName(input.htmlBodyStr),
|
var htmlBodyStr = string.Format(CommonEmailHelper.ReplaceCompanyName(_systemEmailConfig, input.htmlBodyStr, workLanguage),
|
||||||
userNames,
|
userNames,
|
||||||
info.TrialCode,
|
info.TrialCode,
|
||||||
info.SubejctCode,
|
info.SubejctCode,
|
||||||
|
|
@ -825,7 +859,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
await GetEmailSubejctAndHtmlInfoAndBuildAsync(EmailBusinessScenario.IRImageError, messageToSend, emailConfigFunc);
|
await GetEmailSubejctAndHtmlInfoAndBuildAsync(EmailBusinessScenario.IRImageError, messageToSend, emailConfigFunc, workLanguage);
|
||||||
|
|
||||||
}
|
}
|
||||||
else if (feedBack.SubjectVisitId != null)
|
else if (feedBack.SubjectVisitId != null)
|
||||||
|
|
@ -839,7 +873,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
{
|
{
|
||||||
var topicStr = string.Format(input.topicStr, info.ResearchProgramNo, info.SubejctCode, info.VisitName);
|
var topicStr = string.Format(input.topicStr, info.ResearchProgramNo, info.SubejctCode, info.VisitName);
|
||||||
|
|
||||||
var htmlBodyStr = string.Format(ReplaceCompanyName(input.htmlBodyStr),
|
var htmlBodyStr = string.Format(CommonEmailHelper.ReplaceCompanyName(_systemEmailConfig, input.htmlBodyStr, workLanguage),
|
||||||
userNames,
|
userNames,
|
||||||
info.TrialCode,
|
info.TrialCode,
|
||||||
info.SubejctCode,
|
info.SubejctCode,
|
||||||
|
|
@ -855,7 +889,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
await GetEmailSubejctAndHtmlInfoAndBuildAsync(EmailBusinessScenario.TrialSubjectVisitFeedBack, messageToSend, emailConfigFunc);
|
await GetEmailSubejctAndHtmlInfoAndBuildAsync(EmailBusinessScenario.TrialSubjectVisitFeedBack, messageToSend, emailConfigFunc, workLanguage);
|
||||||
}
|
}
|
||||||
//项目相关的反馈 pm admin
|
//项目相关的反馈 pm admin
|
||||||
else if (feedBack.TrialId != null)
|
else if (feedBack.TrialId != null)
|
||||||
|
|
@ -870,7 +904,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
{
|
{
|
||||||
var topicStr = string.Format(input.topicStr, info.ResearchProgramNo);
|
var topicStr = string.Format(input.topicStr, info.ResearchProgramNo);
|
||||||
|
|
||||||
var htmlBodyStr = string.Format(ReplaceCompanyName(input.htmlBodyStr),
|
var htmlBodyStr = string.Format(CommonEmailHelper.ReplaceCompanyName(_systemEmailConfig, input.htmlBodyStr, workLanguage),
|
||||||
userNames,
|
userNames,
|
||||||
info.TrialCode,
|
info.TrialCode,
|
||||||
feedBack.CreateUserRole.UserTypeRole.UserTypeShortName,
|
feedBack.CreateUserRole.UserTypeRole.UserTypeShortName,
|
||||||
|
|
@ -884,7 +918,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
await GetEmailSubejctAndHtmlInfoAndBuildAsync(EmailBusinessScenario.TrialFeedBack, messageToSend, emailConfigFunc);
|
await GetEmailSubejctAndHtmlInfoAndBuildAsync(EmailBusinessScenario.TrialFeedBack, messageToSend, emailConfigFunc, workLanguage);
|
||||||
|
|
||||||
}
|
}
|
||||||
//项目无关的反馈 admin
|
//项目无关的反馈 admin
|
||||||
|
|
@ -896,7 +930,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
{
|
{
|
||||||
var topicStr = string.Format(input.topicStr);
|
var topicStr = string.Format(input.topicStr);
|
||||||
|
|
||||||
var htmlBodyStr = string.Format(ReplaceCompanyName(input.htmlBodyStr),
|
var htmlBodyStr = string.Format(CommonEmailHelper.ReplaceCompanyName(_systemEmailConfig, input.htmlBodyStr, workLanguage),
|
||||||
userNames,
|
userNames,
|
||||||
feedBack.CreateUserRole.UserTypeRole.UserTypeShortName,
|
feedBack.CreateUserRole.UserTypeRole.UserTypeShortName,
|
||||||
feedBack.CreateUserRole.IdentityUser.FullName,
|
feedBack.CreateUserRole.IdentityUser.FullName,
|
||||||
|
|
@ -908,7 +942,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
await GetEmailSubejctAndHtmlInfoAndBuildAsync(EmailBusinessScenario.SysFeedBack, messageToSend, emailConfigFunc);
|
await GetEmailSubejctAndHtmlInfoAndBuildAsync(EmailBusinessScenario.SysFeedBack, messageToSend, emailConfigFunc, workLanguage);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (trialinfo == null)
|
if (trialinfo == null)
|
||||||
|
|
@ -930,6 +964,10 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
var sysUserInfo = (await _identityUserRepository.Where(t => t.Id == userId).FirstOrDefaultAsync()).IfNullThrowException();
|
var sysUserInfo = (await _identityUserRepository.Where(t => t.Id == userId).FirstOrDefaultAsync()).IfNullThrowException();
|
||||||
|
|
||||||
|
//设置工作语言
|
||||||
|
var workLanguage = sysUserInfo.UserWorkLanguage;
|
||||||
|
var isEn_US = workLanguage == UserWorkLanguage.US;
|
||||||
|
|
||||||
var messageToSend = new MimeMessage();
|
var messageToSend = new MimeMessage();
|
||||||
//发件地址
|
//发件地址
|
||||||
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
|
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
|
||||||
|
|
@ -938,13 +976,13 @@ namespace IRaCIS.Core.Application.Service
|
||||||
//主题
|
//主题
|
||||||
//---[来自展影IRC] 关于重置邮箱的提醒
|
//---[来自展影IRC] 关于重置邮箱的提醒
|
||||||
|
|
||||||
var companyName = _userInfo.IsEn_Us ? _systemEmailConfig.CompanyShortName : _systemEmailConfig.CompanyShortNameCN;
|
var companyName = isEn_US ? _systemEmailConfig.CompanyShortName : _systemEmailConfig.CompanyShortNameCN;
|
||||||
|
|
||||||
Func<(string topicStr, string htmlBodyStr), (string topicStr, string htmlBodyStr)> emailConfigFunc = input =>
|
Func<(string topicStr, string htmlBodyStr), (string topicStr, string htmlBodyStr)> emailConfigFunc = input =>
|
||||||
{
|
{
|
||||||
var topicStr = string.Format(input.topicStr, companyName);
|
var topicStr = string.Format(input.topicStr, companyName);
|
||||||
|
|
||||||
var htmlBodyStr = string.Format(ReplacePlatformName(ReplaceCompanyName(input.htmlBodyStr)),
|
var htmlBodyStr = string.Format(CommonEmailHelper.ReplaceCompanyName(_systemEmailConfig, input.htmlBodyStr, workLanguage),
|
||||||
|
|
||||||
sysUserInfo.FullName
|
sysUserInfo.FullName
|
||||||
);
|
);
|
||||||
|
|
@ -953,7 +991,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
await GetEmailSubejctAndHtmlInfoAndBuildAsync(EmailBusinessScenario.IdentityUser_ModifyPassword, messageToSend, emailConfigFunc);
|
await GetEmailSubejctAndHtmlInfoAndBuildAsync(EmailBusinessScenario.IdentityUser_ModifyPassword, messageToSend, emailConfigFunc, workLanguage);
|
||||||
|
|
||||||
await SendEmailHelper.SendEmailAsync(messageToSend, _systemEmailConfig);
|
await SendEmailHelper.SendEmailAsync(messageToSend, _systemEmailConfig);
|
||||||
}
|
}
|
||||||
|
|
@ -963,6 +1001,10 @@ namespace IRaCIS.Core.Application.Service
|
||||||
{
|
{
|
||||||
var trialInfo = await _trialRepository.Where(t => t.Id == trialId).FirstOrDefaultAsync();
|
var trialInfo = await _trialRepository.Where(t => t.Id == trialId).FirstOrDefaultAsync();
|
||||||
|
|
||||||
|
//设置工作语言
|
||||||
|
var isEn_US = _userInfo.IsEn_Us;
|
||||||
|
var workLanguage = _userInfo.IsEn_Us ? UserWorkLanguage.US : UserWorkLanguage.CN;
|
||||||
|
|
||||||
var messageToSend = new MimeMessage();
|
var messageToSend = new MimeMessage();
|
||||||
//发件地址
|
//发件地址
|
||||||
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
|
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
|
||||||
|
|
@ -978,7 +1020,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
var topicStr = string.Format(input.topicStr, companyName, trialInfo.ResearchProgramNo);
|
var topicStr = string.Format(input.topicStr, companyName, trialInfo.ResearchProgramNo);
|
||||||
|
|
||||||
var htmlBodyStr = string.Format(ReplaceCompanyName(input.htmlBodyStr),
|
var htmlBodyStr = string.Format(CommonEmailHelper.ReplaceCompanyName(_systemEmailConfig, input.htmlBodyStr, workLanguage),
|
||||||
name,
|
name,
|
||||||
trialInfo.TrialCode,
|
trialInfo.TrialCode,
|
||||||
trialInfo.ResearchProgramNo
|
trialInfo.ResearchProgramNo
|
||||||
|
|
@ -997,6 +1039,12 @@ namespace IRaCIS.Core.Application.Service
|
||||||
var siteInfo = await _trialSiteRepository.Where(t => t.Id == trialSiteId).Include(x => x.Trial).FirstOrDefaultAsync();
|
var siteInfo = await _trialSiteRepository.Where(t => t.Id == trialSiteId).Include(x => x.Trial).FirstOrDefaultAsync();
|
||||||
|
|
||||||
var trialInfo = siteInfo.Trial;
|
var trialInfo = siteInfo.Trial;
|
||||||
|
|
||||||
|
|
||||||
|
//设置工作语言
|
||||||
|
var isEn_US = _userInfo.IsEn_Us;
|
||||||
|
var workLanguage = _userInfo.IsEn_Us ? UserWorkLanguage.US : UserWorkLanguage.CN;
|
||||||
|
|
||||||
var messageToSend = new MimeMessage();
|
var messageToSend = new MimeMessage();
|
||||||
//发件地址
|
//发件地址
|
||||||
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
|
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
|
||||||
|
|
@ -1012,7 +1060,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
var topicStr = string.Format(input.topicStr, companyName, trialInfo.ResearchProgramNo);
|
var topicStr = string.Format(input.topicStr, companyName, trialInfo.ResearchProgramNo);
|
||||||
|
|
||||||
var htmlBodyStr = string.Format(ReplaceCompanyName(input.htmlBodyStr),
|
var htmlBodyStr = string.Format(CommonEmailHelper.ReplaceCompanyName(_systemEmailConfig, input.htmlBodyStr, workLanguage),
|
||||||
name,
|
name,
|
||||||
trialInfo.TrialCode,
|
trialInfo.TrialCode,
|
||||||
siteInfo.TrialSiteCode,
|
siteInfo.TrialSiteCode,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue