Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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;
        }
Esempio n. 3
0
 public abstract void MapAcctRecFeeEntity(ref AccountReceivableFee acctRecFee, AccountReceivableFlatView view);