public override List <SavingEvent> Deposit(OCurrency pAmount, DateTime pDate, string pDescription, string pReferenceNumber, User pUser, bool pIsDesactivateFees, bool isPending, bool?isLocal, OSavingsMethods savingsMethod, PaymentMethod paymentMethod, int?pendingEventId, Teller teller) { List <SavingEvent> events = new List <SavingEvent>(); int?tellerId = null; if (teller != null && teller.Id != 0) { tellerId = teller.Id; } SavingEvent savingEvent; if (isPending) { savingEvent = new SavingPendingDepositEvent(); savingEvent.IsLocal = isLocal; } else { savingEvent = new SavingDepositEvent(); } savingEvent.Amount = pAmount; savingEvent.Date = pDate; savingEvent.Description = pDescription; savingEvent.ReferenceNumber = pReferenceNumber; savingEvent.User = pUser; savingEvent.Cancelable = true; savingEvent.IsPending = isPending; savingEvent.SavingsMethod = savingsMethod; savingEvent.PaymentsMethod = paymentMethod; savingEvent.PaymentMethod = paymentMethod; savingEvent.PendingEventId = pendingEventId; savingEvent.TellerId = tellerId; savingEvent.ProductType = typeof(SavingsBookProduct); Events.Add(savingEvent); events.Add(savingEvent); //slycode: Check if its cheque or pending event if (!savingEvent.IsPending) { List <SavingEvent> dutyStampFeeEvents = ChargeDutyStampFee(savingEvent); //Events.AddRange(dutyStampFeeEvents); events.AddRange(dutyStampFeeEvents); } if (Status != OSavingsStatus.Closed && !pIsDesactivateFees) { savingEvent.Fee = savingsMethod == OSavingsMethods.Cheque ? ChequeDepositFees : DepositFees; } return(events); }
public override List <SavingEvent> Deposit(OCurrency pAmount, DateTime pDate, string pDescription, User pUser, bool pIsDesactivateFees, bool isPending, OSavingsMethods savingsMethod, int?pendingEventId, Teller teller) { List <SavingEvent> events = new List <SavingEvent>(); int?tellerId = null; if (teller != null && teller.Id != 0) { tellerId = teller.Id; } SavingEvent savingEvent; if (isPending) { savingEvent = new SavingPendingDepositEvent(); } else { savingEvent = new SavingDepositEvent(); } savingEvent.Amount = pAmount; savingEvent.Date = pDate; savingEvent.Description = pDescription; savingEvent.User = pUser; savingEvent.Cancelable = true; savingEvent.IsPending = isPending; savingEvent.SavingsMethod = savingsMethod; savingEvent.PendingEventId = pendingEventId; savingEvent.TellerId = tellerId; savingEvent.ProductType = typeof(SavingsBookProduct); Events.Add(savingEvent); events.Add(savingEvent); if (Status != OSavingsStatus.Closed && !pIsDesactivateFees) { savingEvent.Fee = savingsMethod == OSavingsMethods.Cheque ? ChequeDepositFees : DepositFees; } return(events); }
public virtual List <SavingEvent> Deposit(OCurrency pAmount, DateTime pDate, string pDescription, string pReferenceNumber, User pUser, bool pIsDesactivateFees, bool isPending, bool?isLocal, OSavingsMethods savingsMethod, PaymentMethod paymentMethod, int?pendingEventId, Teller teller) { List <SavingEvent> events = new List <SavingEvent>(); SavingEvent savingEvent; int?tellerId = null; if (teller != null) { tellerId = teller.Id; } if (isPending) { savingEvent = new SavingPendingDepositEvent(); savingEvent.IsLocal = isLocal; } else { savingEvent = new SavingDepositEvent(); } savingEvent.Amount = pAmount; savingEvent.Date = pDate; savingEvent.Description = pDescription; savingEvent.ReferenceNumber = pReferenceNumber; savingEvent.User = pUser; savingEvent.Cancelable = true; savingEvent.IsPending = isPending; savingEvent.SavingsMethod = savingsMethod; savingEvent.PaymentsMethod = paymentMethod; savingEvent.PaymentMethod = paymentMethod; savingEvent.PendingEventId = pendingEventId; savingEvent.TellerId = tellerId; savingEvent.ProductType = typeof(SavingsBookProduct); Events.Add(savingEvent); events.Add(savingEvent); return(events); }
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); }
public override List<SavingEvent> Deposit(OCurrency pAmount, DateTime pDate, string pDescription, User pUser, bool pIsDesactivateFees, bool isPending, OSavingsMethods savingsMethod, int? pendingEventId) { List<SavingEvent> events = new List<SavingEvent>(); SavingEvent savingEvent; if (isPending) { savingEvent = new SavingPendingDepositEvent(); } else { savingEvent = new SavingDepositEvent(); } savingEvent.Amount = pAmount; savingEvent.Date = pDate; savingEvent.Description = pDescription; savingEvent.User = pUser; savingEvent.Cancelable = true; savingEvent.IsPending = isPending; savingEvent.SavingsMethod = savingsMethod; savingEvent.PendingEventId = pendingEventId; savingEvent.ProductType = typeof(SavingBookProduct); _events.Add(savingEvent); events.Add(savingEvent); if (Status != OSavingsStatus.Closed && !pIsDesactivateFees) savingEvent.Fee = savingsMethod == OSavingsMethods.Cheque ? ChequeDepositFees : DepositFees; return events; }