* Added checking of missing EdiCo based on EdiCoTranslate and send email every 30 minutes * Added Admin Scheduler view
29 lines
1.1 KiB
C#
29 lines
1.1 KiB
C#
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());
|
|
}
|
|
}
|
|
} |