public void SecondBankAccountDefaultsTo0PercentSplit() { BankAccountPortfolio portfolio = new BankAccountPortfolio(); BankAccount firstBankAccount = portfolio.AddBankAccount("666666666"); BankAccount secondBankAccount = portfolio.AddBankAccount("777777777"); Assert.AreEqual(100, firstBankAccount.BankAccountSplit.PercentageSplit); Assert.AreEqual(0, secondBankAccount.BankAccountSplit.PercentageSplit); }
public void CanCreatePortfolioThenAddBankAccountAtLaterDate() { BankAccountPortfolio portfolio; ISession session = SessionFactory.Create(); using (var tran = session.BeginTransaction()) { portfolio = new BankAccountPortfolio(); session.Save(portfolio); tran.Commit(); } using (var tran = session.BeginTransaction()) { BankAccountPortfolio bankAccountPortfolio = session.Get <BankAccountPortfolio>(portfolio.Id); bankAccountPortfolio.AddBankAccount("First-111111111"); tran.Commit(); } using (var tran = session.BeginTransaction()) { BankAccountPortfolio bankAccountPortfolio = session.Get <BankAccountPortfolio>(portfolio.Id); Assert.AreEqual(1, bankAccountPortfolio.BankAccountSplits.Count()); tran.Commit(); } }
public void CanChangeBankAccountSplit() { BankAccountPortfolio portfolio = new BankAccountPortfolio(); BankAccount firstBankAccount = portfolio.AddBankAccount("666666666"); BankAccount secondBankAccount = portfolio.AddBankAccount("777777777"); portfolio.ChangeBankAccountSplits(new [] { new BankAccountSplitDDto { BankAccountId = firstBankAccount.Id, Split = 50 }, new BankAccountSplitDDto { BankAccountId = secondBankAccount.Id, Split = 50 } }); Assert.AreEqual(50, firstBankAccount.BankAccountSplit.PercentageSplit); Assert.AreEqual(50, secondBankAccount.BankAccountSplit.PercentageSplit); }
public void CanUpdatePrimaryBankAccount() { BankAccountPortfolio portfolio; ISession session = SessionFactory.Create(); using (var tran = session.BeginTransaction()) { portfolio = new BankAccountPortfolio(); BankAccount firstBankAccount = portfolio.AddBankAccount("First-0123456789"); session.Save(portfolio); tran.Commit(); Assert.AreEqual(portfolio.PrimaryBankAccountSplit.BankAccount, firstBankAccount); } BankAccount secondBankAccount; using (var tran = session.BeginTransaction()) { BankAccountPortfolio bankAccountPortfolio = session.Get <BankAccountPortfolio>(portfolio.Id); secondBankAccount = bankAccountPortfolio.AddBankAccount("Second-9876543210"); tran.Commit(); } using (var tran = session.BeginTransaction()) { BankAccountPortfolio bankAccountPortfolio = session.Get <BankAccountPortfolio>(portfolio.Id); bankAccountPortfolio.ChangePrimaryBankAccount(secondBankAccount.Id); tran.Commit(); } using (var tran = session.BeginTransaction()) { BankAccountPortfolio bankAccountPortfolio = session.Get <BankAccountPortfolio>(portfolio.Id); Assert.AreEqual(bankAccountPortfolio.PrimaryBankAccountSplit.BankAccount, secondBankAccount); tran.Commit(); } }
static void Main(string[] args) { Guid bankAccountPortfolioId; Guid bankAccountId; ISession session = SessionFactory.Create(); using (var tran = session.BeginTransaction()) { BankAccountPortfolio portfolio = new BankAccountPortfolio(); portfolio.AddBankAccount("0123456789"); session.Save(portfolio); bankAccountPortfolioId = portfolio.Id; tran.Commit(); } using (var tran = session.BeginTransaction()) { BankAccountPortfolio bankAccountPortfolio = session.Get <BankAccountPortfolio>(bankAccountPortfolioId); bankAccountPortfolio.AddBankAccount("9876543210"); tran.Commit(); bankAccountId = bankAccountPortfolio.BankAccountSplits .Single(x => x.BankAccount.AccountNumber == "9876543210").BankAccount.Id; } using (var tran = session.BeginTransaction()) { BankAccountPortfolio bankAccountPortfolio = session.Get <BankAccountPortfolio>(bankAccountPortfolioId); bankAccountPortfolio.ChangePrimaryBankAccount(bankAccountId); tran.Commit(); } }