51 lines
1.9 KiB
C#
51 lines
1.9 KiB
C#
using COA.EnterpriseServices.DataAccess.Entities;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
|
|
namespace COA.EnterpriseServices.DataAccess.Helpers
|
|
{
|
|
// NOTE: This example does NOT use BaseHelper<> if you wish to manage it yourself
|
|
// It allows for multiple DataAccessManagers to be used however needed by the helper
|
|
public class CreditorHelper
|
|
{
|
|
private readonly DataAccessManager<Creditor> creditorDataAccess;
|
|
private readonly DataAccessManager<SettlementAttempt> settlementAttemptDataAccess;
|
|
|
|
public CreditorHelper(DataAccessManager<Creditor> creditorDataAccess, DataAccessManager<SettlementAttempt> settlementAttemptDataAccess)
|
|
{
|
|
this.creditorDataAccess = creditorDataAccess;
|
|
this.settlementAttemptDataAccess = settlementAttemptDataAccess;
|
|
}
|
|
|
|
public Creditor GetCreditor(int id)
|
|
{
|
|
return creditorDataAccess.Invoke(d => d.Get(d => d.Id == id)?.FirstOrDefault());
|
|
}
|
|
|
|
public SettlementAttempt GetSettlementAttempt(int id)
|
|
{
|
|
return settlementAttemptDataAccess.Invoke(d => d.Get(d => d.Id == id)?.FirstOrDefault());
|
|
}
|
|
|
|
public ICollection<Creditor> FindByName(string name)
|
|
{
|
|
return creditorDataAccess.Invoke(d => d.Get(c => c.ClientFirstName.Contains(name) || c.ClientLastName.Contains(name)));
|
|
}
|
|
|
|
public ICollection<Creditor> FindByStatus(string status)
|
|
{
|
|
return creditorDataAccess.Invoke(d => d.Get(c => c.Status == status));
|
|
}
|
|
|
|
public bool AddCreditor(Creditor creditor)
|
|
{
|
|
return creditorDataAccess.Invoke(d => d.Add(creditor));
|
|
}
|
|
|
|
public bool SetCreditorStatus(int creditorId, string status)
|
|
{
|
|
return creditorDataAccess.Invoke(d => d.Update(creditorId, c => c.Status = status));
|
|
}
|
|
}
|
|
}
|