using COA.EnterpriseServices.DataAccess.Entities; using System.Collections.Generic; namespace COA.EnterpriseServices.DataAccess.Helpers { public class CreditorHelper { private readonly DataAccessManager creditorDataAccess; private readonly DataAccessManager settlementAttemptDataAccess; public CreditorHelper(DataAccessManager creditorDataAccess, DataAccessManager settlementAttemptDataAccess) { this.creditorDataAccess = creditorDataAccess; this.settlementAttemptDataAccess = settlementAttemptDataAccess; } public Creditor GetCreditor(int id) { return creditorDataAccess.Get(id); } public SettlementAttempt GetSettlementAttempt(int id) { return settlementAttemptDataAccess.Get(id); } public ICollection FindByName(string name) { // TODO: use AutoMapper to return mapped domain objects! return creditorDataAccess.Get(c => c.ClientFirstName.Contains(name) || c.ClientLastName.Contains(name)); } public ICollection FindByStatus(string status) { // TODO: use AutoMapper to return mapped domain objects! return creditorDataAccess.Get(c => c.Status == status); } public bool AddCreditor(Creditor creditor) { // TODO: use AutoMapper to pass in mapped domain object! return creditorDataAccess.Add(creditor); } public bool UpdateCreditor(Creditor creditor) { // TODO: use AutoMapper to pass in mapped domain object! return creditorDataAccess.Update(creditor); } public bool SetCreditorStatus(int creditorId, string status) { 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); } } }