예제 #1
0
        /*      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);
        }
예제 #2
0
 public Capteur(Capteur capteur)
 {
     this.id          = capteur.id;
     this.description = capteur.description;
     this.lieu        = capteur.lieu;
     this.grandeurNom = capteur.grandeurNom;
 }
예제 #3
0
        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);
            }
        }
예제 #4
0
        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);
        }