* Maintain FaKrosno api to handle Hangfire

* Added checking of missing EdiCo based on EdiCoTranslate and send email every 30 minutes
* Added Admin Scheduler view
This commit is contained in:
2025-02-14 08:46:56 +01:00
parent e7342abadd
commit c0fed5b3ec
38 changed files with 446 additions and 221 deletions

View File

@@ -0,0 +1,29 @@
using System.Text;
using SytelineSaAppEfDataModel.Dtos;
using SytelineSaAppEfDataModel.Services;
namespace FaKrosnoApi.Services;
public class ScheduleJobService(IEmailService emailService, IServiceScopeFactory scopeFactory) : IScheduleJobService
{
public async Task ExecuteAsync()
{
using var scope = scopeFactory.CreateScope();
IEdiCustomerOrderService ediCustomerOrderService = scope.ServiceProvider.GetRequiredService<IEdiCustomerOrderService>();
IEnumerable<EdiCustomerOrderTranslateDto> missingOrders =
(await ediCustomerOrderService.FindMissingOrders(new DateTime(2025, 2, 5))).ToList();
if (missingOrders.Any())
{
StringBuilder result = new StringBuilder();
result.AppendLine("Znaleziono brakujące zamówienia w bazie 'edi_co':");
foreach (EdiCustomerOrderTranslateDto missingOrder in missingOrders)
{
result.AppendLine($"- {missingOrder.EdiCoCoNum}");
}
emailService.SendEmail("Znaleziono brakujące zamówienia!", result.ToString());
}
}
}