* 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:
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user