Example #1
0
        static void Main(string[] args)
        {
            var orderReportFormattingSettings =
                new OrderReportFormattingSettings(args.Length > 0 && args[0].Equals("noNumberOfLines"));

            var cities = DatabaseModuleFunctions.LoadAllDataWithoutOrders();

            var generateReportForOrder =
                ReportingModule.GenerateReportForOrder();

            var generateReportForCustomer =
                ReportingModule.GenerateReportForCustomer()
                .HonestlyInject(
                    generateReportForOrder);

            var generateReportForCity =
                ReportingModule.GenerateReportForCity()
                .HonestlyInject(generateReportForCustomer);

            var generateReportHonest =
                ReportingModule.GenerateReport()
                .HonestlyInject(generateReportForCity);

            var generateReport =
                generateReportHonest
                .PartiallyInvoke(
                    orderReportFormattingSettings,
                    DatabaseModule.LoadOrdersForCustomer());

            var report = generateReport(cities);

            SaveReport(report);
        }
Example #2
0
 public System.Collections.Immutable.ImmutableArray <Order> Invoke(Customer input)
 {
     return(DatabaseModuleFunctions.LoadOrdersForCustomer(input));
 }
Example #3
0
 public System.Collections.Immutable.ImmutableArray <City> Invoke(Unit input)
 {
     return(DatabaseModuleFunctions.LoadAllDataWithoutOrders());
 }