2020-10-14 12:35:14 +00:00
|
|
|
|
using COA.EnterpriseServices.DataAccess.Entities;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
|
|
|
|
namespace COA.EnterpriseServices.DataAccess.Helpers
|
|
|
|
|
{
|
2020-10-14 16:23:04 +00:00
|
|
|
|
public class CreditorHelper
|
2020-10-14 12:35:14 +00:00
|
|
|
|
{
|
2020-10-15 01:38:25 +00:00
|
|
|
|
private readonly DataAccessManager<Creditor> creditorDataAccess;
|
|
|
|
|
private readonly DataAccessManager<SettlementAttempt> settlementAttemptDataAccess;
|
2020-10-14 16:23:04 +00:00
|
|
|
|
|
2020-10-15 01:38:25 +00:00
|
|
|
|
public CreditorHelper(DataAccessManager<Creditor> creditorDataAccess, DataAccessManager<SettlementAttempt> settlementAttemptDataAccess)
|
2020-10-14 16:23:04 +00:00
|
|
|
|
{
|
2020-10-15 01:38:25 +00:00
|
|
|
|
this.creditorDataAccess = creditorDataAccess;
|
|
|
|
|
this.settlementAttemptDataAccess = settlementAttemptDataAccess;
|
2020-10-14 21:57:39 +00:00
|
|
|
|
}
|
|
|
|
|
|
2020-10-14 16:23:04 +00:00
|
|
|
|
public Creditor GetCreditor(int id)
|
|
|
|
|
{
|
2020-10-15 12:08:02 +00:00
|
|
|
|
return creditorDataAccess.Get(id);
|
2020-10-14 16:23:04 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public SettlementAttempt GetSettlementAttempt(int id)
|
|
|
|
|
{
|
2020-10-15 12:08:02 +00:00
|
|
|
|
return settlementAttemptDataAccess.Get(id);
|
2020-10-14 16:23:04 +00:00
|
|
|
|
}
|
|
|
|
|
|
2020-10-14 15:03:25 +00:00
|
|
|
|
public ICollection<Creditor> FindByName(string name)
|
2020-10-14 12:35:14 +00:00
|
|
|
|
{
|
2020-10-15 12:48:11 +00:00
|
|
|
|
// TODO: use AutoMapper to return mapped domain objects!
|
|
|
|
|
|
2020-10-15 12:08:02 +00:00
|
|
|
|
return creditorDataAccess.Get(c => c.ClientFirstName.Contains(name) || c.ClientLastName.Contains(name));
|
2020-10-14 12:35:14 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public ICollection<Creditor> FindByStatus(string status)
|
|
|
|
|
{
|
2020-10-15 12:48:11 +00:00
|
|
|
|
// TODO: use AutoMapper to return mapped domain objects!
|
|
|
|
|
|
2020-10-15 12:08:02 +00:00
|
|
|
|
return creditorDataAccess.Get(c => c.Status == status);
|
2020-10-14 16:23:04 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public bool AddCreditor(Creditor creditor)
|
|
|
|
|
{
|
2020-10-15 12:48:11 +00:00
|
|
|
|
// TODO: use AutoMapper to pass in mapped domain object!
|
|
|
|
|
|
2020-10-15 12:08:02 +00:00
|
|
|
|
return creditorDataAccess.Add(creditor);
|
2020-10-14 12:35:14 +00:00
|
|
|
|
}
|
2020-10-15 11:07:32 +00:00
|
|
|
|
|
2020-10-15 12:48:11 +00:00
|
|
|
|
public bool UpdateCreditor(Creditor creditor)
|
|
|
|
|
{
|
|
|
|
|
// TODO: use AutoMapper to pass in mapped domain object!
|
|
|
|
|
|
|
|
|
|
return creditorDataAccess.Update(creditor);
|
|
|
|
|
}
|
|
|
|
|
|
2020-10-15 11:07:32 +00:00
|
|
|
|
public bool SetCreditorStatus(int creditorId, string status)
|
|
|
|
|
{
|
2020-10-15 12:08:02 +00:00
|
|
|
|
return creditorDataAccess.Update(creditorId, c => c.Status = status);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void SetOriginalCreditorAsPrimary(int creditorId)
|
|
|
|
|
{
|
|
|
|
|
var creditor = creditorDataAccess.Get(creditorId);
|
|
|
|
|
|
|
|
|
|
creditor.CurrentCreditorProfileId = creditor.OriginalCreditorProfileId;
|
|
|
|
|
|
|
|
|
|
creditorDataAccess.Update(creditor);
|
2020-10-15 11:07:32 +00:00
|
|
|
|
}
|
2020-10-14 12:35:14 +00:00
|
|
|
|
}
|
|
|
|
|
}
|