public void simple_report() { var date = new DateTime(2012, 10, 10); var loan1 = new Loan() { Date = date.AddDays(-10), Balance = 100, Interest = 10 }; loan1.Customer = new Customer() { PersonalInfo = new PersonalInfo() { Fullname = "Test Test Test" } }; var installment1 = new LoanScheduleItem() { Loan = loan1, Date = date.AddDays(-9), AmountDue = 50, Balance = 50, Interest = 1 }; var lh1 = new LoanHistory(loan1, date.AddDays(-10)) { Loan = loan1 }; var lh2 = new LoanHistory(loan1, date.AddDays(-9)) { Loan = loan1, Balance = 51 }; var tran1 = new PaypointTransaction() { Amount = 50, Interest = 1, Balance = 49, Loan = loan1, Fees = 0, PostDate = date.AddDays(-9) }; using (var tx = _session.BeginTransaction()) { _session.Save(loan1); _session.Save(installment1); _session.Save(lh1); _session.Save(lh2); _session.Save(tran1); tx.Commit(); } var builder = new DailyReportBuilder(_loanScheduleRepository, _transactions, _historyRepository); var report = builder.GenerateReport(2012, 10, 1); Assert.That(report.Count, Is.EqualTo(1)); Assert.That(report[0].Before.Balance, Is.EqualTo(100)); Assert.That(report[0].After.Balance, Is.EqualTo(51)); Assert.That(report[0].Paid.Balance, Is.EqualTo(49)); }
static void Main(string[] args) { var items = new List <FurnitureItem> { new FurnitureItem("Sectional Couch", 55.5, 22.4, 78.6, 35.0), new FurnitureItem("Nightstand", 25.0, 12.4, 20.0, 10.0), new FurnitureItem("Dining Table", 105.0, 35.4, 100.6, 55.5), }; var inventoryBuilder = new DailyReportBuilder(items); // Use Fluent Builder capabilities directly with the concrete builder instead // of the director // var director = new InventoryBuildDirector(inventoryBuilder); //director.BuildCompleteReport(); //var directorReport = inventoryBuilder.GetDailyReport(); var fluentReport = inventoryBuilder .AddTitle() .AddDimensions() .AddLogistics(DateTime.Now) .GetDailyReport(); Console.WriteLine(fluentReport.Debug()); Console.WriteLine("Create new Heat Pump manager instance using the Builder design pattern"); var builder = new ApplianceManagerBuilder(ApplianceType.HeatPump); var heatPumpManager = builder.AddApplianceManagerIdentifiers("HeatPump00657", "OvumHeatPump056") .AddIPConfiguration("192.168.45.01", 502) .AddAppServerConfiguration(3000, 2) .GetApplianceManager(); Console.WriteLine(heatPumpManager.Debug()); Console.WriteLine("Create new Fan Coil Unit manager instance using the Builder design pattern"); builder = new ApplianceManagerBuilder(ApplianceType.FanCoilUnit); var fanCoilUnit = builder.AddApplianceManagerIdentifiers("FanCoil00699", "Aertesi Zefiro 805") .AddIPConfiguration("192.168.45.02", 502) .AddAppServerConfiguration(3000, 3) .GetApplianceManager(); Console.WriteLine(fanCoilUnit.Debug()); }