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(); IEnumerable 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()); } } }