Files
2026-03-17 09:53:09 -05:00

43 lines
1.9 KiB
C#

using LCU.API.Internal.Operations.IncentiveApi.Models.ExternalActivities;
using LCU.API.Internal.Operations.IncentiveApi.Services.MicroApiServices;
using LCU.Library.Internal.CoreApiWrapperModel.CoreModels.Accounts;
using LCU.Library.Internal.CoreApiWrapperModel.CoreModels.Activity;
using LCU.Library.Internal.CoreApiWrapperModel.CoreModels.Transaction;
using Activity = LCU.Library.Internal.IncentiveApiModels.Entities.Activity;
namespace LCU.API.Internal.Operations.IncentiveApi.Services;
public class DnaService : IDnaService
{
private readonly ICoreApiWrapperService _coreApiWrapperService;
public DnaService(ICoreApiWrapperService coreApiWrapperService)
{
_coreApiWrapperService = coreApiWrapperService;
}
public async Task<List<ActivityAccountDetails>> GetNewAccountDetailsForActivities(List<Activity> activities)
{
var accountNumbers = activities.Select(x => x.Detail.AccountNumber)
.Where(x => !string.IsNullOrEmpty(x) && x.All(char.IsDigit))
.Select(long.Parse)
.ToList();
return await _coreApiWrapperService.GetUpdatedAccountInformation(accountNumbers) as List<ActivityAccountDetails>;
}
public async Task<List<NewActivityManagerReferral>> QueryActivityManagerForActivities(List<string> activityManagerIds)
{
var sourceIds = activityManagerIds
.Where(x => !string.IsNullOrEmpty(x) && x.All(char.IsDigit))
.Select(long.Parse)
.ToList();
return await _coreApiWrapperService.GetActivityManagerActivities(new ActivityQueryRequest(){ActivityIds = sourceIds}) as List<NewActivityManagerReferral>;
}
public async Task<List<TransactionHistory>> GetTransactionHistory(string accountNumber, DateTime startDate, DateTime endDate, List<string> transactionCodes)
{
var res = await _coreApiWrapperService.GetTransactionHistory(accountNumber, startDate, endDate, transactionCodes);
return res?.ToList();
}
}