示例#1
0
        public SummaryDataViewModel GetScotlandSummary(int month, int year)
        {
            SummaryData   dummy       = new SummaryData();
            List <string> exclussions = new List <string>();

            string[] cities = new string[2] {
                "aberdeen city", "glasgow city"
            };
            exclussions.Add("name");
            exclussions.Add("dataCode");
            exclussions.Add("type");
            dummy.name     = "Scotland";
            dummy.dataCode = "SC0000001";
            dummy.type     = "National";
            foreach (var prop in dummy.GetType().GetProperties())
            {
                if (!exclussions.Contains(prop.Name))
                {
                    prop.SetValue(dummy, 0);
                }
            }
            SummaryDataViewModel        allScotland = new SummaryDataViewModel(dummy);
            List <SummaryDataViewModel> allCouncils = new List <SummaryDataViewModel>();

            foreach (string city in cities)
            {
                var tempCouncilData = ByName(city);
                if (tempCouncilData != null)
                {
                    allCouncils.Add(tempCouncilData.GetSummaryDataForCouncil(month, year));
                }
            }
            foreach (SummaryDataViewModel council in allCouncils)
            {
                if (council != null)
                {
                    foreach (var prop in council.GetType().GetProperties())
                    {
                        if (prop.PropertyType == typeof(int))
                        {
                            prop.SetValue(allScotland, ((int)prop.GetValue(allScotland) + (int)prop.GetValue(council)));
                        }
                        if (prop.PropertyType == typeof(double))
                        {
                            prop.SetValue(allScotland, ((double)prop.GetValue(allScotland) + (double)prop.GetValue(council)));
                        }
                    }
                }
            }
            return(allScotland);
        }
        public SummaryDataViewModel GetScotlandSummary(int month, int year)
        {
            SummaryData   dummy       = new SummaryData();
            List <string> exclussions = new List <string>();

            string[] cities = new string[2] {
                "Aberdeen City", "Glasgow City"
            };
            exclussions.Add("name");
            exclussions.Add("dataCode");
            exclussions.Add("type");
            dummy.name     = "Scotland";
            dummy.dataCode = "SC0000001";
            dummy.type     = "National";
            foreach (var prop in dummy.GetType().GetProperties())
            {
                if (!exclussions.Contains(prop.Name))
                {
                    prop.SetValue(dummy, 0);
                }
            }
            SummaryDataViewModel        allScotland = new SummaryDataViewModel(dummy);
            List <SummaryDataViewModel> allCouncils = new List <SummaryDataViewModel>();

            foreach (string city in cities)
            {
                allCouncils.Add(GetSummaryDataForCouncil <AberdeenSummary>(city, month, year));
            }
            foreach (SummaryDataViewModel council in allCouncils)
            {
                foreach (var prop in council.GetType().GetProperties())
                {
                    prop.SetValue(allScotland, ((double)prop.GetValue(allScotland) + (double)prop.GetValue(council)));// <--- Questionable code!!! Start from here
                }
            }
            return(allScotland);
        }