示例#1
0
        public override List <SavingEvent> Reopen(OCurrency pAmount, DateTime pDate, User pUser, string pDescription, bool pIsDesactivateFees)
        {
            List <SavingEvent> events      = new List <SavingEvent>();
            SavingReopenEvent  reopenEvent = new SavingReopenEvent
            {
                Amount      = pAmount,
                Date        = pDate,
                Description = pDescription,
                User        = pUser,
                Cancelable  = false,
                Fee         = 0m,
                ProductType = typeof(SavingsBookProduct)
            };

            if (!pIsDesactivateFees)
            {
                reopenEvent.Fee = ReopenFees;
            }

            events.Clear();
            events.Add(reopenEvent);

            Status     = OSavingsStatus.Active;
            ClosedDate = null;
            return(events);
        }
示例#2
0
        private static SavingEvent GetSavingsEvent(string code)
        {
            SavingEvent e;

            switch (code)
            {
            case OSavingEvents.Deposit:
                e = new SavingDepositEvent();
                break;

            case OSavingEvents.Withdraw:
                e = new SavingWithdrawEvent();
                break;

            case OSavingEvents.Accrual:
                e = new SavingInterestsAccrualEvent();
                break;

            case OSavingEvents.Posting:
                e = new SavingInterestsPostingEvent();
                break;

            case OSavingEvents.InitialDeposit:
                e = new SavingInitialDepositEvent();
                break;

            case OSavingEvents.CreditTransfer:
                e = new SavingCreditTransferEvent();
                break;

            case OSavingEvents.DebitTransfer:
                e = new SavingDebitTransferEvent();
                break;

            case OSavingEvents.ManagementFee:
                e = new SavingManagementFeeEvent();
                break;

            case OSavingEvents.SavingClosure:
                e = new SavingClosureEvent();
                break;

            case OSavingEvents.Close:
                e = new SavingCloseEvent();
                break;

            case OSavingEvents.OverdraftFees:
                e = new SavingOverdraftFeeEvent();
                break;

            case OSavingEvents.Agio:
                e = new SavingAgioEvent();
                break;

            case OSavingEvents.PendingDeposit:
                e = new SavingPendingDepositEvent();
                break;

            case OSavingEvents.Reopen:
                e = new SavingReopenEvent();
                break;

            case OSavingEvents.PendingDepositRefused:
                e = new SavingPendingDepositRefusedEvent();
                break;

            case OSavingEvents.SpecialOperationCredit:
                e = new SavingCreditOperationEvent();
                break;

            case OSavingEvents.SpecialOperationDebit:
                e = new SavingDebitOperationEvent();
                break;

            case OSavingEvents.InterBranchCreditTransfer:
                e = new SavingCreditInterBranchTransferEvent();
                break;

            case OSavingEvents.InterBranchDebitTransfer:
                e = new SavingDebitInterBranchTransferEvent();
                break;

            case OSavingEvents.LoanDisbursement:
                e = new SavingLoanDisbursementEvent();
                break;

            case OSavingEvents.SavingLoanRepayment:
                e = new LoanRepaymentFromSavingEvent();
                break;

            case OSavingEvents.BlockCompulsarySavings:
                e = new SavingBlockCompulsarySavingsEvent();
                break;

            case OSavingEvents.UnblockCompulsorySavings:
                e = new SavingUnblockCompulsorySavingsEvent();
                break;

            default:
                Debug.Fail("Failed to create saving event object");
                throw new Exception();
            }
            return(e);
        }