예제 #1
0
 public void Get_Code()
 {
     SavingInitialDepositEvent savingInitialDeposit = new SavingInitialDepositEvent();
     Assert.AreEqual("SVIE", savingInitialDeposit.Code);
     SavingDepositEvent savingDeposit = new SavingDepositEvent();
     Assert.AreEqual("SVDE", savingDeposit.Code);
     SavingWithdrawEvent savingWithDraw = new SavingWithdrawEvent();
     Assert.AreEqual("SVWE", savingWithDraw.Code);
     SavingInterestsAccrualEvent savingAccrualInterest = new SavingInterestsAccrualEvent();
     Assert.AreEqual("SIAE", savingAccrualInterest.Code);
     SavingInterestsPostingEvent savingPostingInterest = new SavingInterestsPostingEvent();
     Assert.AreEqual("SIPE", savingPostingInterest.Code);
     SavingCreditTransferEvent savingCreditTransfer = new SavingCreditTransferEvent();
     Assert.AreEqual("SCTE", savingCreditTransfer.Code);
     SavingDebitTransferEvent savingDebitTransfer = new SavingDebitTransferEvent();
     Assert.AreEqual("SDTE", savingDebitTransfer.Code);
 }
예제 #2
0
        public override List<SavingEvent> FirstDeposit(OCurrency pInitialAmount, DateTime pCreationDate, 
                                                        OCurrency pEntryFees, User pUser, Teller teller)
        {
            List<SavingEvent> events = new List<SavingEvent>();

            int? tellerId = null;
            if (teller != null && teller.Id != 0) tellerId = teller.Id;

            SavingInitialDepositEvent initialEvent = new SavingInitialDepositEvent
            {
                Amount = pInitialAmount,
                Date = pCreationDate,
                Description = "First deposit",
                User = pUser,
                Fee = pEntryFees,
                TellerId = tellerId,
                ProductType = typeof(SavingsBookProduct),
                SavingsMethod = OSavingsMethods.Cash
            };

            Events.Add(initialEvent);
            events.Add(initialEvent);

            CreationDate = pCreationDate;
            
            return events;
        }
예제 #3
0
 public void Get_Set_Events()
 {
     List<SavingEvent> events = new List<SavingEvent>();
     SavingInitialDepositEvent eventDeposit = new SavingInitialDepositEvent
     {
         Id = 1,
         Date = new DateTime(2008, 10, 18),
         Description = "First deposit of 100",
         Amount = 100
     };
     events.Add(eventDeposit);
     SavingWithdrawEvent eventWithdraw = new SavingWithdrawEvent
     {
         Id = 2,
         Date = new DateTime(2008, 10, 08),
         Description = "2nd withdraw of 75",
         Amount = 75
     };
     events.Add(eventWithdraw);
     SavingBookContract saving = new SavingBookContract(ApplicationSettings.GetInstance(""),
                                                        new User(),
                                                        new DateTime(2008, 08, 18), null);
     saving.FirstDeposit(100, new DateTime(2008, 08, 18), null, new User(), Teller.CurrentTeller);
     saving.Events.AddRange(events);
     Assert.AreEqual(events.Count+1, saving.Events.Count);
     saving.Events.Sort();
     events.Sort();
     Assert.AreEqual(100m, saving.Events[0].Amount.Value);
     Assert.AreEqual(75m, saving.Events[1].Amount.Value);
     Assert.AreEqual(100m, saving.Events[2].Amount.Value);
 }
예제 #4
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;
 }
예제 #5
0
        private static Event GetSavingEvent(OpenCbsReader r)
        {
            SavingEvent e;

            switch (r.GetString("code"))
            {
                case OSavingEvents.Deposit:
                    e = new SavingDepositEvent();
                    break;
                case OSavingEvents.Withdraw:
                    e = new SavingWithdrawEvent();
                    break;
                case OSavingEvents.InitialDeposit:
                    e = new SavingInitialDepositEvent();
                    break;
                case OSavingEvents.CreditTransfer:
                    e = new SavingCreditTransferEvent();
                    break;
                case OSavingEvents.DebitTransfer:
                    e = new SavingDebitTransferEvent();
                    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;
                default:
                    throw new Exception();
            }

            e.Amount = r.GetMoney("se_amount");
            if (e is ISavingsFees)
                ((ISavingsFees)e).Fee = r.GetMoney("se_fees");
            if (e is SavingTransferEvent)
                ((SavingTransferEvent)e).RelatedContractCode = r.GetString("se_transfer_code");

            return e;
        }
예제 #6
0
 public void Get_Set_Events()
 {
     List<SavingEvent> events = new List<SavingEvent>();
     SavingInitialDepositEvent eventDeposit = new SavingInitialDepositEvent
     {
         Id = 1,
         Date = new DateTime(2008, 10, 18),
         Description = "First deposit of 100",
         Amount = 100
     };
     events.Add(eventDeposit);
     SavingWithdrawEvent eventWithdraw = new SavingWithdrawEvent
     {
         Id = 2,
         Date = new DateTime(2008, 10, 08),
         Description = "2nd withdraw of 75",
         Amount = 75
     };
     events.Add(eventWithdraw);
     CompulsorySavings CompulsorySavings = new CompulsorySavings(ApplicationSettings.GetInstance(""), ChartOfAccounts.GetInstance(new User()), new User(), 12m, new DateTime(2008, 08, 18), null);
     CompulsorySavings.Events.AddRange(events);
     Assert.AreEqual(events.Count+1, CompulsorySavings.Events.Count);
     CompulsorySavings.Events.Sort();
     events.Sort();
     Assert.AreEqual(12m, CompulsorySavings.Events[0].Amount.Value);
     Assert.AreEqual(75m, CompulsorySavings.Events[1].Amount.Value);
     Assert.AreEqual(100m, CompulsorySavings.Events[2].Amount.Value);
 }