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

View File

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

View File

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