potential rewrite of DAM to be single non-generic instance

This commit is contained in:
2020-10-15 23:05:21 -04:00
parent 82245a693f
commit 7ad01a2586
5 changed files with 181 additions and 5 deletions

View File

@ -1,15 +1,17 @@
using AutoMapper;
using COA.EnterpriseServices.Creditors;
using COA.EnterpriseServices.DataAccess.Entities;
using System.Collections.Generic;
namespace COA.EnterpriseServices.DataAccess.Helpers
{
public class CreditorHelper
{
private readonly DataAccessManager<Creditor> creditorDataAccess;
private readonly DataAccessManager<SettlementAttempt> settlementAttemptDataAccess;
private readonly DataAccessManager<Entities.Creditor> creditorDataAccess;
private readonly DataAccessManager<Entities.SettlementAttempt> settlementAttemptDataAccess;
private readonly IMapper mapper;
public CreditorHelper(DataAccessManager<Creditor> creditorDataAccess, DataAccessManager<SettlementAttempt> settlementAttemptDataAccess, IMapper mapper)
public CreditorHelper(DataAccessManager<Entities.Creditor> creditorDataAccess, DataAccessManager<Entities.SettlementAttempt> settlementAttemptDataAccess, IMapper mapper)
{
this.creditorDataAccess = creditorDataAccess;
this.settlementAttemptDataAccess = settlementAttemptDataAccess;
@ -24,9 +26,48 @@ namespace COA.EnterpriseServices.DataAccess.Helpers
return mapper.Map<Creditors.Creditor>(creditor);
}
public SettlementAttempt GetSettlementAttempt(int id)
public Creditors.SettlementAttempt GetSettlementAttempt(int id)
{
return settlementAttemptDataAccess.Get(id);
var attempt = settlementAttemptDataAccess.Get(id);
return mapper.Map<Creditors.SettlementAttempt>(attempt);
}
public ICollection<Creditors.SettlementAttempt> GetSettlements(SettlementAttemptFilter filter)
{
var dal2 = new DataAccessManager2();
dal2.Get<Entities.Creditor>(c => c.ClientLastName == "Peters");
return DBWrapper.ExecuteProcedure(QuickbaseConnectionString, "uspCreditorPortal_SettlementAttemptGet", cmd =>
{
if (filter != null)
{
cmd.CommandTimeout = 0;
cmd.Parameters.AddWithValue("@SettlementAttemptID", filter.SettlementAttemptId);
cmd.Parameters.AddWithValue("@CreditorProfileID", filter.CreditorProfileId);
cmd.Parameters.AddWithValue("@CreditorID", filter.CreditorId);
cmd.Parameters.AddWithValue("@CreditorContactID", filter.CreditorContactId);
cmd.Parameters.AddWithValue("@FirstPaymentDateStart", filter.FirstPaymentDateStart);
cmd.Parameters.AddWithValue("@FirstPaymentDateEnd", filter.FirstPaymentDateEnd);
cmd.Parameters.AddWithValue("@ResponseDateStart", filter.ResponseDateStart);
cmd.Parameters.AddWithValue("@ResponseDateEnd", filter.ResponseDateEnd);
cmd.Parameters.AddWithValue("@PortalSubmissionDateStart", filter.PortalSubmissionDateStart);
cmd.Parameters.AddWithValue("@PortalSubmissionDateEnd", filter.PortalSubmissionDateEnd);
if (filter.SettlementAttemptIds.AnyAndNotNull())
{
cmd.Parameters.Add("@SettlementAttemptIDs", SqlDbType.Structured).Value = CreateIdsTable(filter.SettlementAttemptIds);
}
else if (filter.CreditorIds.AnyAndNotNull())
{
cmd.Parameters.Add("@CreditorIDs", SqlDbType.Structured).Value = CreateIdsTable(filter.CreditorIds);
}
}
return cmd.ToList<SettlementAttempt>();
});
}
public bool AddCreditor(Creditors.Creditor creditor)