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

61 lines
1.9 KiB
C#
Raw Normal View History

using AutoMapper;
using COA.EnterpriseServices.DataAccess.Entities;
2020-10-14 12:35:14 +00:00
namespace COA.EnterpriseServices.DataAccess.Helpers
{
2020-10-14 16:23:04 +00:00
public class CreditorHelper
2020-10-14 12:35:14 +00:00
{
private readonly DataAccessManager<Creditor> creditorDataAccess;
private readonly DataAccessManager<SettlementAttempt> settlementAttemptDataAccess;
private readonly IMapper mapper;
2020-10-14 16:23:04 +00:00
public CreditorHelper(DataAccessManager<Creditor> creditorDataAccess, DataAccessManager<SettlementAttempt> settlementAttemptDataAccess, IMapper mapper)
2020-10-14 16:23:04 +00:00
{
this.creditorDataAccess = creditorDataAccess;
this.settlementAttemptDataAccess = settlementAttemptDataAccess;
this.mapper = mapper;
2020-10-14 21:57:39 +00:00
}
public Creditors.Creditor GetCreditor(int id)
2020-10-14 16:23:04 +00:00
{
var creditor = creditorDataAccess.Get(id);
// map EF => domain type
return mapper.Map<Creditors.Creditor>(creditor);
2020-10-14 16:23:04 +00:00
}
public SettlementAttempt GetSettlementAttempt(int id)
{
return settlementAttemptDataAccess.Get(id);
2020-10-14 16:23:04 +00:00
}
public bool AddCreditor(Creditors.Creditor creditor)
2020-10-14 16:23:04 +00:00
{
var creditorEntity = mapper.Map<Creditor>(creditor);
2020-10-15 12:48:11 +00:00
return creditorDataAccess.Add(creditorEntity);
2020-10-14 12:35:14 +00:00
}
2020-10-15 12:48:11 +00:00
public bool UpdateCreditor(Creditor creditor)
{
var creditorEntity = mapper.Map<Creditor>(creditor);
2020-10-15 12:48:11 +00:00
return creditorDataAccess.Update(creditorEntity);
2020-10-15 12:48:11 +00:00
}
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);
}
2020-10-14 12:35:14 +00:00
}
}