Pre-Cameron ChargeSourceId
-
- Posts: 73
- Joined: Thu May 21, 2015 2:28 pm
Pre-Cameron ChargeSourceId
Is there a way to retrieve ChargeSourceId from a pre-cameron ledger transaction?
Re: Pre-Cameron ChargeSourceId
You should be able to get the ChargeSourceId from the IFeeDetail records corresponding to the transaction. The code sample below demonstrates this approach.
ILedgersManager lm = _sps.GetService<ILedgersManager>();
ILedgerInfo info = lm.GetLedgerForOrder(orderGuid);
IOrderLedger orderLedger = (IOrderLedger)lm.GetLedger(info);
IList<IFeeDetail> feeDetails = orderLedger.GetFeeDetails();
IEnumerable<IFeeDetail> tranFeeDetails = feeDetails
.Where(fd => fd.SequenceNumber == transaction.SequenceNumber);
foreach (var fd in tranFeeDetails)
{
Tag tg = fd.Tags
.Where(f => f.Name == SoftPro.Accounting.Client.Constants.FeeDetailChargeSourceProperty)
.FirstOrDefault();
Guid chargeSourceID;
if (tg != null && Guid.TryParse(tg.Value, out chargeSourceID))
{
// Do work
}
}
ILedgersManager lm = _sps.GetService<ILedgersManager>();
ILedgerInfo info = lm.GetLedgerForOrder(orderGuid);
IOrderLedger orderLedger = (IOrderLedger)lm.GetLedger(info);
IList<IFeeDetail> feeDetails = orderLedger.GetFeeDetails();
IEnumerable<IFeeDetail> tranFeeDetails = feeDetails
.Where(fd => fd.SequenceNumber == transaction.SequenceNumber);
foreach (var fd in tranFeeDetails)
{
Tag tg = fd.Tags
.Where(f => f.Name == SoftPro.Accounting.Client.Constants.FeeDetailChargeSourceProperty)
.FirstOrDefault();
Guid chargeSourceID;
if (tg != null && Guid.TryParse(tg.Value, out chargeSourceID))
{
// Do work
}
}