// Ta fram statistik över antalet dagar för borttagna annonser av olika typer public IDictionary <string, List <int> > GetAgeDeletedAdsStatistics(List <string> eqTypeNames, List <string> adTypeNames) { var statistics = new Dictionary <string, List <int> >(); var removedAds = _marketData.GetRemovedAds(); var removedEquipments = _marketData.GetRemovedEquipments(); var eqTypeStatistics = new List <int>(); // Räkna antalet dagar för gamla annonser där utrustningen är ospecificerad foreach (var adTypeName in adTypeNames) { var ads = removedAds.Where(a => a.AdvType.Name == adTypeName) .Where(a => a.RemovedEqms.Count == 0); eqTypeStatistics.Add(CalculateAverageNrDays(ads)); } statistics.Add("Odefinerade", eqTypeStatistics); // Räkna antalet dagar för gamla annonser där utrustningen är specificerad foreach (var eqTypeName in eqTypeNames) { eqTypeStatistics = new List <int>(); var equipments = removedEquipments.Where(e => e.EqType.Name == eqTypeName); foreach (var adTypeName in adTypeNames) { var ads = removedAds.Where(a => a.AdvType.Name == adTypeName) .Where(a => a.RemovedEqms.Count == 1) .Where(a => a.RemovedEqms.First().EqType.Name == eqTypeName); eqTypeStatistics.Add(CalculateAverageNrDays(ads)); } statistics.Add(eqTypeName, eqTypeStatistics); } eqTypeStatistics = new List <int>(); // Räkna antalet dagar för gamla annonser där utrustningen är ett paket foreach (var adTypeName in adTypeNames) { var ads = removedAds.Where(a => a.AdvType.Name == adTypeName) .Where(a => a.RemovedEqms.Count == 2); eqTypeStatistics.Add(CalculateAverageNrDays(ads)); } statistics.Add("Paket", eqTypeStatistics); return(statistics); }