Example #1
0
        public void GenerateTrends()
        {
            var listFamilyTrends = new List <FamilyTrends>();
            var listSupplier     = _supplierRepository.ReadAll();

            var services = new HashSet <Domain.BusinessDomain.Service>();

            // all unique services
            foreach (var item in listSupplier)
            {
                foreach (var service in item.Services)
                {
                    services.Add(service);
                }
            }
            // gets all trendTypes
            var trendTypes = (TrendTypes[])Enum.GetValues(typeof(TrendTypes));

            // gets trend mathVariebels and creates a list of familytrends foreach service and trends
            foreach (var item in services)
            {
                var trends = new Dictionary <TrendTypes, Dictionary <MathVariable, double> >();
                foreach (var trendType in trendTypes)
                {
                    //get trends data from the database
                    var trend = _trendRepository.GetTrend(item, trendType);
                    if (trend != null)
                    {
                        trends.Add(trendType, trend);
                    }
                }
                if (trends.Count > 0)
                {
                    listFamilyTrends.Add(new FamilyTrends {
                        Service = item, Trends = trends
                    });
                }
            }
            FamilyTrends = listFamilyTrends;
        }