* 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

@@ -78,6 +78,25 @@ namespace SytelineSaAppEfDataModel.Services
return ediCustomerOrder;
}
public async Task<IEnumerable<EdiCustomerOrderTranslateDto>> FindMissingOrders(DateTime startDate)
{
IList<EdiCustomerOrderTranslate> ediCustomerOrderTranslates = await context.EdiCustomerOrderTranslates
.Where(x => x.CreatedDate >= startDate).ToListAsync();
var ediOrderNumbers = ediCustomerOrderTranslates.Select(x => x.EdiCoCoNum).ToList();
var ediOrderNumbersFromEdiCo = (await context.EdiCustomerOrders.ToListAsync())
.Where(x => ediOrderNumbers.Contains(x.CustomerOrderNumber)).Select(x => x.CustomerOrderNumber)
.ToList();
ISet<string> missingNumbers = ediOrderNumbers.Except(ediOrderNumbersFromEdiCo).ToHashSet();
IEnumerable<EdiCustomerOrderTranslateDto> missingOrders =
(await context.EdiCustomerOrderTranslates.ToListAsync())
.Where(x => missingNumbers.Contains(x.EdiCoCoNum)).Select(mapper.Map<EdiCustomerOrderTranslateDto>);
return missingOrders;
}
public async Task<int> SendOrderToSyteline(Guid customerOrderNumber)
{

View File

@@ -12,6 +12,7 @@ namespace SytelineSaAppEfDataModel.Services
Task<IEnumerable<EdiCustomerOrderDto>> GetAll();
Task<IEnumerable<EdiCustomerOrderDto?>> GetByDate(DateTime date);
Task<EdiCustomerOrderDto?> GetByOrderNumber(Guid orderNumber);
Task<IEnumerable<EdiCustomerOrderTranslateDto>> FindMissingOrders(DateTime startDate);
Task<int> SendOrderToSyteline(Guid customerOrderNumber);
}
}