* 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:
29
FaKrosnoApi/Services/ScheduleJobService.cs
Normal file
29
FaKrosnoApi/Services/ScheduleJobService.cs
Normal 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());
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user