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();
            }
        }
Beispiel #2
0
        public void FirstBankAccountDefaultsTo100PercentSplit()
        {
            BankAccountPortfolio portfolio        = new BankAccountPortfolio();
            BankAccount          firstBankAccount = portfolio.AddBankAccount("666666666");

            Assert.AreEqual(100, firstBankAccount.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();
            }
        }
        public void CanCreatePortfolioWithoutBankAccount()
        {
            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);
                Assert.AreEqual(0, bankAccountPortfolio.BankAccountSplits.Count());
                tran.Commit();
            }
        }
Beispiel #5
0
        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);
        }
Beispiel #6
0
        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();
            }
        }