public ForecastController(IHouseDetailes houseDetailes, IPlantDetailes plantDetailes) { this.houseDetailes = houseDetailes; this.plantDetailes = plantDetailes; consH = new Dictionary <int, double>(); consP = new Dictionary <int, double>(); consuptions = new List <double>(); consuptionsLimit = new List <double>(); foreach (HouseDetail h in houseDetailes.getHouseDetails) { if (!consH.ContainsKey(h.daysNumber)) { consH.Add(h.daysNumber, h.consumptionHouse); } else { consH[h.daysNumber] = consH[h.daysNumber] + h.consumptionHouse; } } foreach (PlantDetail p in plantDetailes.getPlantDetails) { if (!consP.ContainsKey(p.daysNumber)) { consP.Add(p.daysNumber, p.consumptionPlant); } else { consP[p.daysNumber] = consP[p.daysNumber] + p.consumptionPlant; } } foreach (KeyValuePair <int, double> pair in consH) { consuptions.Add(pair.Value + consP[pair.Key]); } forecastModel = new ForecastModel(); if (consuptions.Count >= 7) { for (int i = consuptions.Count - 7; i < consuptions.Count; i++) //last 7 days { consuptionsLimit.Add(consuptions[i]); } forecastModel.consuption = consuptionsLimit.ToArray(); forecastModel.forecast = new MNK().calc(consuptionsLimit.ToArray(), 3); forecastModel.date = DateTemp.zeroCountDateTime.AddDays(plantDetailes.getPlantDetails.Last().daysNumber + 1); } }
public Home(IDateTemps dates, IHouseDetailes houseDetailes, IPlantDetailes plantDetailes) { this.dateTemps = dates; this.houseDetailes = houseDetailes; this.plantDetailes = plantDetailes; }