COA.EnterpriseServices/COA.EnterpriseServices.DataAccess/Helpers/CreditorHelper.cs

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));
}
}
}