Example #1
0
        public void Init()
        {
            var initiatedAt           = new DateTime(2019, 1, 1);
            var downpayment           = 82000.00M;
            var mortgageAmount        = 328000.00M;
            var preferredInterestRate = 0.0319M;

            var initialCash = 10000.00M;
            var initialDebt = 5000.00M;

            CashFlow = new DummyCashFlow(89.86M);
            Subject  = new Activity(initialCash, initialDebt, CashFlow, initiatedAt);

            {
                var purchasedAt = initiatedAt;
                var mortgage    = new FixedRateMortgage(
                    mortgageAmount,
                    preferredInterestRate,
                    300,
                    purchasedAt
                    );
                FirstHome = new Home(
                    "first home",
                    purchasedAt,
                    downpayment + mortgageAmount,
                    downpayment,
                    mortgage
                    );

                Subject.Buy(FirstHome, purchasedAt);
            }

            // Sell the first home
            {
                var soldAt = new DateTime(2020, 1, 3);
                Subject.Sell(FirstHome, 500000.00M, soldAt);
            }

            {
                var purchasedAt = new DateTime(2020, 2, 3);
                var mortgage    = new FixedRateMortgage(
                    mortgageAmount,
                    preferredInterestRate,
                    300,
                    purchasedAt
                    );
                SecondHome = new Home(
                    "second home",
                    purchasedAt,
                    downpayment + mortgageAmount,
                    downpayment,
                    mortgage
                    );
                Subject.Buy(SecondHome, purchasedAt);
            }
        }
Example #2
0
 public Activity(DateTime initiatedAt)
 {
     CashFlow    = new DummyCashFlow(0.00M);
     InitiatedAt = initiatedAt;
 }
Example #3
0
 public void Init()
 {
     InitiatedAt = new DateTime(2019, 1, 1);
     CashFlow    = new DummyCashFlow(100.00M);
     Subject     = new RealEstateBuilder(CashFlow, InitiatedAt);
 }