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(); } }