43 lines
1.9 KiB
C#
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();
|
|
}
|
|
}
|