public IFluentAccountReceivable AdjustOpenAmount(AccountReceivableFlatView view) { try { Task <Decimal> glAmountTask = Task.Run(async() => await unitOfWork.generalLedgerRepository.GetGLAmountByDocNumber(view.DocNumber)); Task <Decimal> acctFeeAmountTask = Task.Run(async() => await unitOfWork.accountReceivableFeeRepository.GetFeeAmountById(view.AccountReceivableId)); Task <AccountReceivable> acctRecTask = Task.Run(async() => await unitOfWork.accountReceivableRepository.GetEntityByInvoiceId(view.AccountReceivableId)); Task.WaitAll(glAmountTask, acctFeeAmountTask, acctRecTask); decimal amountPaid = glAmountTask.Result; decimal feeAmount = acctFeeAmountTask.Result; acctRecTask.Result.OpenAmount = acctRecTask.Result.Amount + feeAmount - amountPaid; acctRecTask.Result.LateFee = feeAmount; UpdateAccountReceivable(acctRecTask.Result); return(this as IFluentAccountReceivable); } catch (Exception ex) { throw new Exception(GetMyMethodName(), ex); } }
public override void MapAcctRecFeeEntity(ref AccountReceivableFee acctRecFee, AccountReceivableFlatView view) { //public decimal? FeeAmount { get; set; } acctRecFee.PaymentDueDate = view.PaymentDueDate; acctRecFee.CustomerId = view.CustomerId; acctRecFee.DocNumber = view.DocNumber ?? 0; acctRecFee.AcctRecDocType = view.AcctRecDocType; acctRecFee.AccountReceivableId = view.AccountReceivableId ?? 0; }
public abstract void MapAcctRecFeeEntity(ref AccountReceivableFee acctRecFee, AccountReceivableFlatView view);