예제 #1
0
 /// <summary>
 /// set or replace fee for anycardtype assignr to the bank
 /// </summary>
 /// <param name="cardType"></param>
 /// <param name="feeID"></param>
 public void setFeeForIntracCardType(decimal amount,string description)
 {
     Fee fee = new Fee();
     fee.createNew(this.bankID, amount, description, (int)enums.cardType.DebitCard);
 }
예제 #2
0
        /// <summary>
        /// set or replace fee for anycardtype assignr to the bank
        /// </summary>
        /// <param name="cardType"></param>
        /// <param name="feeID"></param>
        public void setFeeForIntracCardType(decimal amount, string description)
        {
            Fee fee = new Fee();

            fee.createNew(this.bankID, amount, description, (int)enums.cardType.DebitCard);
        }
예제 #3
0
        public void doINTERACPayment(decimal amount,  int cardID)
        {
            using (var ctx = new AccContexts())
                using (var ts = new TransactionScope())
                {
                    classes.dbPayment debitCardPayment = new dbPayment();
                    debitCardPayment.createNew(this.receiverEntityID, this.issuerEntityID, amount, this.currencyID,cardID);

                    /*Record New Invoice Payment*/
                    var NewInvoicePayment = new AccountingLib.Models.invoicePayment()
                    {
                        invoiceID = this.invoiceID,
                        paymentID = debitCardPayment.paymentID
                    };
                    ctx.invoicePayment.AddObject(NewInvoicePayment);
                    ctx.SaveChanges();

                    //get Fee bank cardType
                    var card=new classes.card.DebitCard();
                    card.loadByCardID(cardID);

                    Fee fee = new Fee();
                    fee.loadFeeByBankCardTypeID(card.cardTypeID, ((Entity)card).getBankByCard(cardID).bankID);

                    //Record related transctions [for invoice payment]
                    List <int> transactions = new List<int>();
                    transactions.Add(Transaction.createNew(receiverEntityID, (int)AssetCategories.DBCASH, -1 * amount, this.currencyID));
                    transactions.Add(Transaction.createNew(receiverEntityID, (int)LibCategories.AP, +1 * amount, this.currencyID));

                    transactions.Add(Transaction.createNew(issuerEntityID, (int)AssetCategories.W, +1 * amount-(decimal)fee.amount, this.currencyID));
                    transactions.Add(Transaction.createNew(issuerEntityID, (int)AssetCategories.AR, -1 * amount, this.currencyID));
                    transactions.Add(Transaction.createNew(issuerEntityID, (int)OECategories.EXP, (decimal)fee.amount, this.currencyID));

                    /*Record Invoice Payment transactions*/
                    this.RecordInvoicePaymentTransactions(transactions, debitCardPayment.paymentID, enums.paymentStat.PaidApproved);

                    /*Record Invoice Transaction*/
                    this.RecordInvoiceTransaction( transactions,enums.invoiceStat.interacPaymant);

                    ts.Complete();
                }
        }