DrillingProgram emails tested

This commit is contained in:
ngfrolov 2022-05-05 13:28:48 +05:00
parent f93849aba2
commit 923d2866b0
3 changed files with 27 additions and 19 deletions

View File

@ -14,6 +14,12 @@
<None Remove="Services\WellOperationService\WellOperationImportTemplate.xlsx" />
</ItemGroup>
<ItemGroup>
<Content Include="Res\logo_32.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Services\DailyReport\DailyReportTemplate.xlsx" />
<EmbeddedResource Include="Services\WellOperationService\ScheduleReportTemplate.xlsx" />
@ -55,10 +61,4 @@
</Reference>
</ItemGroup>
<ItemGroup>
<None Update="Res\logo_32.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>

View File

@ -35,7 +35,7 @@ namespace AsbCloudInfrastructure.Services
}
public void EnqueueSend(string address, string subject, string htmlBody)
=> new List<string> { address };
=> EnqueueSend(new List<string> { address }, subject, htmlBody);
public void EnqueueSend(IEnumerable<string> addresses, string subject, string htmlBody)
{
@ -78,7 +78,9 @@ namespace AsbCloudInfrastructure.Services
foreach (var mailAddress in mailAddresses)
message.To.Add(mailAddress);
//message.To.Add("support@digitaldrilling.ru");
message.BodyEncoding = System.Text.Encoding.UTF8;
message.Body = htmlBody;
message.Subject = subject;
message.IsBodyHtml = true;
@ -88,7 +90,7 @@ namespace AsbCloudInfrastructure.Services
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential(sender, smtpPassword);
//await client.SendMailAsync(message, token);
await client.SendMailAsync(message, token);
Trace.TraceInformation($"Send email to {string.Join(',', addresses)} subj:{subject} html body count {htmlBody.Count()}");
};
return func;

View File

@ -30,7 +30,7 @@ namespace AsbCloudInfrastructure
{
var drillingProgramHref = MakeDrillingProgramHref(well);
var body = $"<html><body><h2>Здравствуйте, {userName}.<h2>" +
var body = $"<html><body><h2>Здравствуйте, {userName}.</h2>" +
$"На портале {platformName} началось создание программы бурения скважины {drillingProgramHref}," +
$" куст {well.Cluster}, месторождение {well.Deposit}." +
$"<br><br>От вас ожидается загрузка на портал документа «{documentCategory}» в формате excel (*.xlsx)." +
@ -44,7 +44,7 @@ namespace AsbCloudInfrastructure
var fileDownloadHref = MakeFileDownloadHref(well.Id, idFile, fileName);
var drillingProgramHref = MakeDrillingProgramHref(well);
var body = $"<html><body><h2>Здравствуйте, {userName}.<h2>" +
var body = $"<html><body><h2>Здравствуйте, {userName}.</h2>" +
$"На портал {platformName} загружен документ {fileDownloadHref}" +
$" для согласования при создании программы бурения скважины {drillingProgramHref}, куст ({well.Cluster})" +
$", месторождение ({well.Deposit}).<br>" +
@ -58,7 +58,7 @@ namespace AsbCloudInfrastructure
var fileDownloadHref = MakeFileDownloadHref(well.Id, idFile, fileName);
var drillingProgramHref = MakeDrillingProgramHref(well);
var body = $"<html><body><h2>Здравствуйте, {userName}.<h2>" +
var body = $"<html><body><h2>Здравствуйте, {userName}.</h2>" +
$"На портале {platformName} отклонен загруженный вами документ {fileDownloadHref} " +
$" по программе бурения скважины {drillingProgramHref}," +
$" куст {well.Cluster}, месторождение {well.Deposit}." +
@ -73,7 +73,7 @@ namespace AsbCloudInfrastructure
var fileDownloadHref = MakeFileDownloadHref(well.Id, idFile, fileName);
var drillingProgramHref = MakeDrillingProgramHref(well);
var body = $"<html><body><h2>Здравствуйте, {userName}.<h2>" +
var body = $"<html><body><h2>Здравствуйте, {userName}.</h2>" +
$"На портале {platformName} полностью согласован документ {fileDownloadHref} " +
$" по программе бурения скважины {drillingProgramHref}," +
$" куст {well.Cluster}, месторождение {well.Deposit}." +
@ -102,9 +102,11 @@ namespace AsbCloudInfrastructure
protected string MakeSignatue()
{
var logo = GetImageBase64("logo_32.png");
var sign = $"<br>---<br><img src=\"{logo}\"/>" +
$"{companyName}<br>Это письмо сформировано автоматически.<br>Для получения помощи по работе на портале " +
$"{platformName} обращайтесь по адресу {supportMail}";
var sign = $"<br><br>---<br><img src=\"{logo}\"/><br>" +
$"{companyName}<br>" +
$"Это письмо сформировано автоматически.<br>" +
$"Для получения помощи по работе на портале {platformName}" +
$"обращайтесь по адресу {supportMail}";
return sign;
}
@ -113,10 +115,14 @@ namespace AsbCloudInfrastructure
if (string.IsNullOrEmpty(resourceFileName))
return null;
var format = Path.GetExtension(resourceFileName).Trim('.');
var logoFilePath = Path.Combine("Res" + resourceFileName);
var imageBytes = File.ReadAllBytes(logoFilePath);
return "data:image/" + format + ";base64," + Convert.ToBase64String(imageBytes);
var baseDir = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
var resoursesDir = "Res";
var logoFilePath = Path.Combine(baseDir, resoursesDir, resourceFileName);
var imageBytes = File.ReadAllBytes(logoFilePath);
var format = Path.GetExtension(resourceFileName).Trim('.');
return "data:image/" + format + ";base64," + Convert.ToBase64String(imageBytes);
}
}
}