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

51 lines
1.7 KiB
C#
Raw Normal View History

2020-10-14 12:35:14 +00:00
using COA.EnterpriseServices.DataAccess.Entities;
using System.Collections.Generic;
2020-10-14 16:23:04 +00:00
using System.Linq;
2020-10-14 12:35:14 +00:00
namespace COA.EnterpriseServices.DataAccess.Helpers
{
2020-10-14 16:23:04 +00:00
// 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
2020-10-14 12:35:14 +00:00
{
2020-10-14 16:43:46 +00:00
private static readonly DataAccessManager<Creditor> creditorDataAccess;
private static readonly DataAccessManager<SettlementAttempt> settlementAttemptDataAccess;
2020-10-14 16:23:04 +00:00
2020-10-14 16:43:46 +00:00
static CreditorHelper()
2020-10-14 16:23:04 +00:00
{
2020-10-14 21:25:05 +00:00
creditorDataAccess = Dependencies.Container.GetInstance<DataAccessManager<Creditor>>();
settlementAttemptDataAccess = Dependencies.Container.GetInstance<DataAccessManager<SettlementAttempt>>();
2020-10-14 16:23:04 +00:00
}
2020-10-14 21:57:39 +00:00
public CreditorHelper()
{
}
2020-10-14 16:23:04 +00:00
public Creditor GetCreditor(int id)
{
2020-10-14 16:43:46 +00:00
return creditorDataAccess.Invoke(d => d.Get(d => d.Id == id)?.FirstOrDefault());
2020-10-14 16:23:04 +00:00
}
public SettlementAttempt GetSettlementAttempt(int id)
{
2020-10-14 16:43:46 +00:00
return settlementAttemptDataAccess.Invoke(d => d.Get(d => d.Id == id)?.FirstOrDefault());
2020-10-14 16:23:04 +00:00
}
public ICollection<Creditor> FindByName(string name)
2020-10-14 12:35:14 +00:00
{
2020-10-14 16:23:04 +00:00
return creditorDataAccess.Invoke(d => d.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-14 16:23:04 +00:00
return creditorDataAccess.Invoke(d => d.Get(c => c.Status == status));
}
public bool AddCreditor(Creditor creditor)
{
return creditorDataAccess.Invoke(d => d.Add(creditor));
2020-10-14 12:35:14 +00:00
}
}
}