示例#1
0
        public CityBudgetState GenerateCityBudgetState(ISimulationSession session)
        {
            var statistics = session.GetAllCityStatisticsForCurrentYear();

            return(new CityBudgetState
            {
                cityServiceStates = CityServiceDefinition
                                    .CityServiceDefinitions
                                    .Select(x => new CityServiceState
                {
                    name = x.Name,
                    projectedExpenses = x.GetProjectedExpenses(statistics),
                    currentRate = x.CurrentRate(session.CityBudgetConfiguration).ToString("P")
                })
                                    .ToArray(),
                taxStates = TaxDefinition
                            .TaxDefinitions
                            .Select(x => new CityTaxState
                {
                    name = x.Name,
                    projectedIncome = x.GetProjectedIncome(statistics),
                    currentRate = x.CurrentRate(session.CityBudgetConfiguration).ToString("P")
                })
                            .ToArray()
            });
        }