/* public Dictionary<string, Mesure> timeLaps(Dictionary<string, Capteur> dico, TimeSpan interval, TimeSpan deltaTime, int numIteration) * { * DateTime snapDate = DateTime.Now; * * foreach (KeyValuePair<string, Capteur> capteur in dico) * { * if (snapDate.CompareTo(capteur.Value.getMesures()[0].date) < 0) * snapDate = capteur.Value.getMesures()[0].date; * } * * var snapShotDico = new Dictionary<string, Mesure>(); * foreach (KeyValuePair<string, Capteur> capteur in dico) * { * if (dateTmp.CompareTo(begin) > 0 && dateTmp.CompareTo(end) < 0) * { * * } * } * * return snapShotDico; * }*/ public Dictionary <string, Capteur> getTimeLapsDico(DateTime begin, DateTime end) { Dictionary <string, Capteur> timeLaps = new Dictionary <string, Capteur>(); foreach (KeyValuePair <string, Capteur> capteur in capteursDico) { var listMesure = capteur.Value.getMesures(); var newCapteur = new Capteur(capteur.Value); timeLaps.Add(capteur.Value.id, newCapteur); List <Mesure> tmpList = new List <Mesure>();; DateTime dateTmp; foreach (var mesure in listMesure) { dateTmp = mesure.date; if (dateTmp.CompareTo(begin) > 0 && dateTmp.CompareTo(end) < 0) { //Console.WriteLine("Date Entre deux " + dateTmp.CompareTo(begin)); tmpList.Add(mesure); } } newCapteur.setMesures(tmpList); } return(timeLaps); }
public Capteur(Capteur capteur) { this.id = capteur.id; this.description = capteur.description; this.lieu = capteur.lieu; this.grandeurNom = capteur.grandeurNom; }
public void addBarDataFromCapteur(Capteur capteur, DateTime selectedDate, DateTime end) { end = end.AddDays(1); end = new DateTime(end.Year, end.Month, end.Day, 0, 0, 0); List <Mesure> mesures = capteur.mesureList.FindAll(mesure => mesure.date >= selectedDate && mesure.date < end); if (mesures.Count > 0) { ColumnSeries serie = new ColumnSeries { Title = capteur.lieu }; Mesure mesureMax = mesures.OrderByDescending(mesure => mesure.value).First(); serie.Items.Add(new ColumnItem(mesureMax.value)); this.Series.Add(serie); } }
public void addMesuresFromCapteur(Capteur capteur, DateTime selectedDate, DateTime end, int amplitude) { end = end.AddDays(1); end = new DateTime(end.Year, end.Month, end.Day, 0, 0, 0); List <Mesure> mesures = capteur.mesureList.FindAll(mesure => mesure.date >= selectedDate && mesure.date < end); mesures.ForEach(x => x.value = x.initial_value); //---------- Fonction de Moyenne locales : Deux arguement -> La liste de mesure / le nombre de points a prendre (a gauche et a droite du point courant) pour calculer la moyenne transfoMoyennelocal(mesures, amplitude); LineSeries serie = new LineSeries { Title = capteur.description, Tag = capteur.id }; foreach (Mesure mesure in mesures) { serie.Points.Add(new DataPoint(DateTimeAxis.ToDouble(mesure.date), mesure.value)); } this.Series.Add(serie); }