Adding
This commit is contained in:
+318
@@ -0,0 +1,318 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using LCU.Library.Internal.CoreApiWrapperLib.CoreDbUtilities;
|
||||
using LCU.Library.Internal.CoreApiWrapperLib.Utilities;
|
||||
using LCU.Library.Internal.CoreApiWrapperModel.CoreModels.Activity;
|
||||
using LCU.Library.Internal.CoreApiWrapperModel.LcuModels.Activity;
|
||||
|
||||
namespace LCU.Library.Internal.CoreApiWrapperLib.DataAccess
|
||||
{
|
||||
public class ActivityDao : IActivityDao
|
||||
{
|
||||
private readonly ICoreDbExecution _coreDbExecution;
|
||||
private const string NewCheckingAccountSalesDigitalBanking = "Activity/NewCheckingAccountSalesDigitalBanking";
|
||||
private const string NewCheckingAccountSalesQuery = "Activity/NewCheckingAccountSales";
|
||||
private const string NewAtmCheckCardQuery = "Activity/NewAtmCheckCardSales";
|
||||
private const string NewMortgageSalesQuery = "Activity/NewMortgageAccountSales";
|
||||
private const string NewVehicleSalesQuery = "Activity/NewVehicleAccountSales";
|
||||
private const string NewDebtProtectedLoanQuery = "Activity/NewDebtProtectedLoanSales";
|
||||
private const string EStatementDeliveryQuery = "Activity/QueryEStatementDeliveryMethod";
|
||||
private const string NewActivityManagerIncentiveReferralQuery = "Activity/NewActivityManagerIncentiveReferralQuery";
|
||||
private const string ActivityManagerReferralById = "Activity/QueryActivityManagerActivityDetail";
|
||||
private const string GetPersonActivityByPhoneNumberQuery = "Activity/GetPersonActivityByPhoneNumberQuery";
|
||||
private const string GetPersonActivityByPersonNumberQuery = "Activity/GetPersonActivityByPersonNumberQuery";
|
||||
private const string DnaTimeFormat = "yyyy-MM-dd HH:mm:ss";
|
||||
|
||||
public ActivityDao(ICoreDbExecution coreDbExecution)
|
||||
{
|
||||
_coreDbExecution = coreDbExecution;
|
||||
}
|
||||
|
||||
//Some of this could be DRYer, opting for this for better Type Safety and Messaging in Services.
|
||||
public async Task<IReadOnlyCollection<NewCheckingAccountActivity>> GetNewCheckingActivitiesNewerThanDate(
|
||||
DateTime newerThanDateTime,
|
||||
int limitAmount
|
||||
)
|
||||
{
|
||||
var query = QueryUtilities.GetQuery(NewCheckingAccountSalesQuery);
|
||||
//Define Anonymous Object to Pass in Parameter "newerThanDateTime: "datetimestring" to query
|
||||
//See: https://docs.microsoft.com/en-us/dotnet/csharp/fundamentals/types/anonymous-types
|
||||
var accountActivityParams = new
|
||||
{
|
||||
newerThanDateTime = newerThanDateTime.ToString(DnaTimeFormat),
|
||||
afterActivityNbr = (string)null,
|
||||
limitAmount = limitAmount.ToString()
|
||||
};
|
||||
var results =
|
||||
await _coreDbExecution.ExecuteQuery<NewCheckingAccountActivity, object>(query, accountActivityParams);
|
||||
return results.ToList();
|
||||
}
|
||||
|
||||
public async Task<IReadOnlyCollection<NewCheckingAccountActivity>> GetNewCheckingActivitiesAfterActivityNbr(
|
||||
long afterActivityNumber,
|
||||
int limitAmount
|
||||
)
|
||||
{
|
||||
var query = QueryUtilities.GetQuery(NewCheckingAccountSalesQuery);
|
||||
var accountActivityParams = new
|
||||
{
|
||||
afterActivityNbr = afterActivityNumber.ToString(),
|
||||
newerThanDateTime = (string)null,
|
||||
limitAmount = limitAmount.ToString()
|
||||
};
|
||||
var results =
|
||||
await _coreDbExecution.ExecuteQuery<NewCheckingAccountActivity, object>(query, accountActivityParams);
|
||||
return results.ToList();
|
||||
}
|
||||
|
||||
public async Task<IReadOnlyCollection<NewCheckingAccountActivity>> GetNewCheckingActivities(
|
||||
DateTime newerThanDateTime,
|
||||
long afterActivityNumber,
|
||||
int limitAmount
|
||||
)
|
||||
{
|
||||
var query = QueryUtilities.GetQuery(NewCheckingAccountSalesQuery);
|
||||
var accountActivityParams = new
|
||||
{
|
||||
afterActivityNbr = afterActivityNumber.ToString(),
|
||||
newerThanDateTime = newerThanDateTime.ToString(DnaTimeFormat),
|
||||
limitAmount = limitAmount.ToString()
|
||||
};
|
||||
var results =
|
||||
await _coreDbExecution.ExecuteQuery<NewCheckingAccountActivity, object>(query, accountActivityParams);
|
||||
return results.ToList();
|
||||
}
|
||||
|
||||
public async Task<IReadOnlyCollection<NewCheckingAccountActivity>> GetNewDigitalBankingCheckingActivitiesNewerThanDate(
|
||||
DateTime newerThanDateTime,
|
||||
int limitAmount
|
||||
)
|
||||
{
|
||||
var query = QueryUtilities.GetQuery(NewCheckingAccountSalesDigitalBanking);
|
||||
var accountActivityParams = new
|
||||
{
|
||||
newerThanDateTime = newerThanDateTime.ToString(DnaTimeFormat),
|
||||
afterActivityNbr = (string)null,
|
||||
limitAmount = limitAmount.ToString()
|
||||
};
|
||||
var results =
|
||||
await _coreDbExecution.ExecuteQuery<NewCheckingAccountActivity, object>(query, accountActivityParams);
|
||||
return results.ToList();
|
||||
}
|
||||
|
||||
public async Task<IReadOnlyCollection<NewCheckingAccountActivity>> GetNewDigitalBankingCheckingActivitiesAfterActivityNbr(
|
||||
long afterActivityNumber,
|
||||
int limitAmount
|
||||
)
|
||||
{
|
||||
var query = QueryUtilities.GetQuery(NewCheckingAccountSalesDigitalBanking);
|
||||
var accountActivityParams = new
|
||||
{
|
||||
afterActivityNbr = afterActivityNumber.ToString(),
|
||||
newerThanDateTime = (string)null,
|
||||
limitAmount = limitAmount.ToString()
|
||||
};
|
||||
var results =
|
||||
await _coreDbExecution.ExecuteQuery<NewCheckingAccountActivity, object>(query, accountActivityParams);
|
||||
return results.ToList();
|
||||
}
|
||||
|
||||
public async Task<IReadOnlyCollection<NewCheckingAccountActivity>> GetNewDigitalBankingCheckingActivities(
|
||||
DateTime newerThanDateTime,
|
||||
long afterActivityNumber,
|
||||
int limitAmount
|
||||
)
|
||||
{
|
||||
var query = QueryUtilities.GetQuery(NewCheckingAccountSalesDigitalBanking);
|
||||
var accountActivityParams = new
|
||||
{
|
||||
afterActivityNbr = afterActivityNumber.ToString(),
|
||||
newerThanDateTime = newerThanDateTime.ToString(DnaTimeFormat),
|
||||
limitAmount = limitAmount.ToString()
|
||||
};
|
||||
var results =
|
||||
await _coreDbExecution.ExecuteQuery<NewCheckingAccountActivity, object>(query, accountActivityParams);
|
||||
return results.ToList();
|
||||
}
|
||||
|
||||
public async Task<IReadOnlyCollection<NewAtmCheckCardActivity>> GetNewAtmCheckCardActivitiesNewerThanDate(
|
||||
DateTime newerThanDateTime,
|
||||
int limitAmount
|
||||
)
|
||||
{
|
||||
var query = QueryUtilities.GetQuery(NewAtmCheckCardQuery);
|
||||
var accountActivityParams = new
|
||||
{
|
||||
newerThanDateTime = newerThanDateTime.ToString(DnaTimeFormat),
|
||||
afterActivityNbr = (string)null,
|
||||
limitAmount = limitAmount.ToString()
|
||||
};
|
||||
var results =
|
||||
await _coreDbExecution.ExecuteQuery<NewAtmCheckCardActivity, object>(query, accountActivityParams);
|
||||
return results.ToList();
|
||||
}
|
||||
|
||||
public async Task<IReadOnlyCollection<NewAtmCheckCardActivity>> GetNewAtmCheckCardActivitiesAfterActivityNbr(
|
||||
long afterActivityNumber,
|
||||
int limitAmount
|
||||
)
|
||||
{
|
||||
var query = QueryUtilities.GetQuery(NewAtmCheckCardQuery);
|
||||
var accountActivityParams = new
|
||||
{
|
||||
afterActivityNbr = afterActivityNumber.ToString(),
|
||||
newerThanDateTime = (string)null,
|
||||
limitAmount = limitAmount.ToString()
|
||||
};
|
||||
var results =
|
||||
await _coreDbExecution.ExecuteQuery<NewAtmCheckCardActivity, object>(query, accountActivityParams);
|
||||
return results.ToList();
|
||||
}
|
||||
|
||||
public async Task<IReadOnlyCollection<NewAtmCheckCardActivity>> GetNewAtmCheckCardActivities(
|
||||
DateTime newerThanDateTime,
|
||||
long afterActivityNumber,
|
||||
int limitAmount
|
||||
)
|
||||
{
|
||||
var query = QueryUtilities.GetQuery(NewAtmCheckCardQuery);
|
||||
var accountActivityParams = new
|
||||
{
|
||||
afterActivityNbr = afterActivityNumber.ToString(),
|
||||
newerThanDateTime = newerThanDateTime.ToString(DnaTimeFormat),
|
||||
limitAmount = limitAmount.ToString()
|
||||
};
|
||||
var results =
|
||||
await _coreDbExecution.ExecuteQuery<NewAtmCheckCardActivity, object>(query, accountActivityParams);
|
||||
return results.ToList();
|
||||
}
|
||||
|
||||
public async Task<IReadOnlyCollection<NewActivityManagerIncentiveReferral>> GetNewActivityManagerReferralsNewerThan(
|
||||
DateTime newerThanOriginationDateTime)
|
||||
{
|
||||
var query = QueryUtilities.GetQuery(NewActivityManagerIncentiveReferralQuery);
|
||||
var accountActivityParams = new
|
||||
{
|
||||
newerThanOriginationDate = newerThanOriginationDateTime.ToString(DnaTimeFormat),
|
||||
afterActivityId = (string)null
|
||||
};
|
||||
var results =
|
||||
await _coreDbExecution.ExecuteQuery<NewActivityManagerIncentiveReferral, object>(query, accountActivityParams);
|
||||
return results.ToList();
|
||||
}
|
||||
|
||||
public async Task<IReadOnlyCollection<NewActivityManagerIncentiveReferral>> GetNewActivityManagerReferralsAfterActivityId(long afterActivityId)
|
||||
{
|
||||
var query = QueryUtilities.GetQuery(NewActivityManagerIncentiveReferralQuery);
|
||||
var accountActivityParams = new
|
||||
{
|
||||
afterActivityId = afterActivityId.ToString(),
|
||||
newerThanOriginationDate = (string)null
|
||||
};
|
||||
var results =
|
||||
await _coreDbExecution.ExecuteQuery<NewActivityManagerIncentiveReferral, object>(query, accountActivityParams);
|
||||
return results.ToList();
|
||||
}
|
||||
|
||||
public async Task<IReadOnlyCollection<NewActivityManagerIncentiveReferral>> GetNewActivityManagerReferrals(DateTime newerThanOriginationDateTime,
|
||||
long afterActivityId)
|
||||
{
|
||||
var query = QueryUtilities.GetQuery(NewActivityManagerIncentiveReferralQuery);
|
||||
var accountActivityParams = new
|
||||
{
|
||||
afterActivityId = afterActivityId.ToString(),
|
||||
newerThanOriginationDate = newerThanOriginationDateTime.ToString(DnaTimeFormat),
|
||||
};
|
||||
var results =
|
||||
await _coreDbExecution.ExecuteQuery<NewActivityManagerIncentiveReferral, object>(query, accountActivityParams);
|
||||
return results.ToList();
|
||||
}
|
||||
|
||||
public async Task<IReadOnlyCollection<NewLoanSaleActivity>> GetNewMortgageSaleActivities(
|
||||
DateTime? newerThanDateTime, long? afterActivityNumber)
|
||||
{
|
||||
var query = QueryUtilities.GetQuery(NewMortgageSalesQuery);
|
||||
var accountActivityParams = new
|
||||
{
|
||||
afterActivityNbr = afterActivityNumber?.ToString(),
|
||||
newerThanDateTime = newerThanDateTime?.ToString(DnaTimeFormat)
|
||||
};
|
||||
var results =
|
||||
await _coreDbExecution.ExecuteQuery<NewLoanSaleActivity, object>(query, accountActivityParams);
|
||||
return results.ToList();
|
||||
}
|
||||
|
||||
public async Task<IReadOnlyCollection<NewLoanSaleActivity>> GetNewVehicleSaleActivities(
|
||||
DateTime? newerThanDateTime, long? afterActivityNumber)
|
||||
{
|
||||
var query = QueryUtilities.GetQuery(NewVehicleSalesQuery);
|
||||
var accountActivityParams = new
|
||||
{
|
||||
afterActivityNbr = afterActivityNumber?.ToString(),
|
||||
newerThanDateTime = newerThanDateTime?.ToString(DnaTimeFormat)
|
||||
};
|
||||
var results =
|
||||
await _coreDbExecution.ExecuteQuery<NewLoanSaleActivity, object>(query, accountActivityParams);
|
||||
return results.ToList();
|
||||
}
|
||||
|
||||
public async Task<IReadOnlyCollection<NewLoanSaleActivity>> GetNewDebtProtectedLoanSaleActivities(
|
||||
DateTime? newerThanDateTime, long? afterActivityNumber)
|
||||
{
|
||||
var query = QueryUtilities.GetQuery(NewDebtProtectedLoanQuery);
|
||||
var accountActivityParams = new
|
||||
{
|
||||
afterActivityNbr = afterActivityNumber?.ToString(),
|
||||
newerThanDateTime = newerThanDateTime?.ToString(DnaTimeFormat)
|
||||
};
|
||||
var results =
|
||||
await _coreDbExecution.ExecuteQuery<NewLoanSaleActivity, object>(query, accountActivityParams);
|
||||
return results.ToList();
|
||||
}
|
||||
|
||||
public async Task<IReadOnlyCollection<NewActivityManagerIncentiveReferral>> QueryActivityManagerActivity(ActivityQueryRequest request)
|
||||
{
|
||||
var query = QueryUtilities.GetQuery(ActivityManagerReferralById);
|
||||
var accountActivityParams = new
|
||||
{
|
||||
activityIds = request.ActivityIds.Select(x => x.ToString()).ToArray()
|
||||
};
|
||||
var results =
|
||||
await _coreDbExecution.ExecuteQuery<NewActivityManagerIncentiveReferral, object>(query, accountActivityParams);
|
||||
return results.ToList();
|
||||
}
|
||||
|
||||
public async Task<IReadOnlyCollection<EStatementDeliveryMethod>> GetEStatementDeliveryActivity(DateTime? newerThanDateTime)
|
||||
{
|
||||
var query = QueryUtilities.GetQuery(EStatementDeliveryQuery);
|
||||
var accountActivityParams = new
|
||||
{
|
||||
newerThanDateTime = newerThanDateTime?.ToString(DnaTimeFormat)
|
||||
};
|
||||
var results =
|
||||
await _coreDbExecution.ExecuteQuery<EStatementDeliveryMethod, object>(query, accountActivityParams);
|
||||
return results.ToList();
|
||||
}
|
||||
|
||||
public async Task<IReadOnlyCollection<PersonRecentActivity>> GetPersonActivityByPhoneNumber(string phoneNumber)
|
||||
{
|
||||
var query = QueryUtilities.GetQuery(GetPersonActivityByPhoneNumberQuery);
|
||||
var personRecentActivityParams = new
|
||||
{
|
||||
phoneNumber = phoneNumber
|
||||
};
|
||||
return (await _coreDbExecution.ExecuteQuery<PersonRecentActivity, dynamic>(query, personRecentActivityParams)).ToList();
|
||||
}
|
||||
|
||||
public async Task<PersonRecentActivity> GetPersonActivityByPersonNumber(string personNumber)
|
||||
{
|
||||
var query = QueryUtilities.GetQuery(GetPersonActivityByPersonNumberQuery);
|
||||
var personRecentActivityParams = new {
|
||||
personNumber = personNumber
|
||||
};
|
||||
return (await _coreDbExecution.ExecuteQuery<PersonRecentActivity, dynamic>(query, personRecentActivityParams)).FirstOrDefault();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user