Jóváhagyás utáni automatikus mail + CheckListHeader ShortName és Description javítása

This commit is contained in:
2025-05-23 20:41:44 +02:00
parent cd0b1da85b
commit d3e63404a2
9 changed files with 170 additions and 17 deletions
@@ -114,6 +114,7 @@ namespace WorkFlowCheck.BL.Services
{
CheckListTemplateHeaderId = checkListHeaderDTO.CheckListTemplateHeaderDTO.Id,
Description = checkListHeaderDTO.Description,
ShortName = checkListHeaderDTO.ShortName,
GuidNumber = Guid.NewGuid(),
};
_dbContext.CheckListHeaders.Add(checkListHeader);
@@ -129,7 +130,7 @@ namespace WorkFlowCheck.BL.Services
if (checkListHeader != null)
{
checkListHeader.Description = checkListHeaderDTO.Description;
checkListHeader.ShortName= checkListHeaderDTO.ShortName;
await _dbContext.SaveChangesAsync();
retVal = _mapper.Map<CheckListHeaderDTO>(checkListHeader);
@@ -239,17 +240,60 @@ namespace WorkFlowCheck.BL.Services
var filePath = Path.Combine(pdfDirectory, fileName);
await File.WriteAllBytesAsync(filePath, pdf);
await SendMailToAcceptedUser(filePath, checkListHeader, userid);
retVal = true;
}
}
}
catch (Exception ex)
{
retVal = false;
Log.Error(ex.Message);
}
return retVal;
}
private async Task SendMailToAcceptedUser(string filePath, CheckListHeader checkListHeader, int userId)
{
try
{
var user = _dbContext.Users.Where(W => W.Id == userId).FirstOrDefault();
if (user != null)
{
if (!string.IsNullOrEmpty(user.Email))
{
var recepients = new List<string>()
{
user.Email,
};
await _messageService.SendMailAsync(recepients,
$"Értesítés folyamat jóváhagyásáról {checkListHeader.DocumentNumber}",
GetAcceptCheckListHeaderMessageBody(checkListHeader),
filePath);
}
}
}
catch (Exception ex)
{
}
}
private string GetAcceptCheckListHeaderMessageBody(CheckListHeader checkListHeader)
{
var assembly = Assembly.GetExecutingAssembly();
var resourceName = "WorkFlowCheck.BL.HtmlTemplates.AcceptCheckListHeaderBody.html";
using var stream = assembly.GetManifestResourceStream(resourceName);
if (stream == null)
throw new FileNotFoundException($"Nem található a beágyazott erőforrás: {resourceName}");
using var reader = new StreamReader(stream);
var html = reader.ReadToEnd();
return html.Replace("#DocumentNumber#", checkListHeader.DocumentNumber);
}
public async Task<byte[]> CreateCheckListHeaderPDFAsync(int checkListHeaderId)
{
try