/// <summary>
 ///
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void BtnAjoutCapteur(object sender, RoutedEventArgs e)
 {
     if (!string.IsNullOrEmpty(fieldNumero.Text) && !string.IsNullOrEmpty(fieldLibelle.Text))
     {
         ServiceCapteur.AddCapteur(new BusinessCapteur
         {
             NumeroSerie = int.Parse(fieldNumero.Text),
             Libelle     = fieldLibelle.Text
         });
         MessageBox.Show("Capteur ajouté");
         gridCapteur.ItemsSource = ServiceCapteur.GetCapteur();
     }
     else
     {
         MessageBox.Show("Veuillez ajouter un numéro de capteur et un nom de capteur.");
     }
 }
        /// <summary>
        /// capteur
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnDeleteCapteur(object sender, RoutedEventArgs e)
        {
            BusinessCapteur capteurARetirer = gridCapteur.SelectedItem as BusinessCapteur;

            if (capteurARetirer != null)
            {
                if (MessageBox.Show("Voulez-vous supprimer le capteur selectionné?", "Supprimer ?", MessageBoxButton.YesNoCancel, MessageBoxImage.Question) == MessageBoxResult.Yes)
                {
                    ServiceCapteur.DeleteCapteur(capteurARetirer);
                    gridCapteur.ItemsSource = ServiceCapteur.GetCapteur();
                }
            }
            else
            {
                MessageBox.Show("Aucun capteur n'est sélectionné.");
            }
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnGenererRapport(object sender, RoutedEventArgs e)
        {
            List <BusinessLigneReleve> ligneReleveContent = new List <BusinessLigneReleve>();

            ligneReleveContent = gridLigneReleve.ItemsSource as List <BusinessLigneReleve>;



            //IEnumerable ligneReleveContent;
            //ligneReleveContent = gridLigneReleve.ItemsSource;


            List <DateTime> infosDates = new List <DateTime>();


            //var heureMin = (from r in ligneReleveContent group r by r.HeureLigneReleve into kj select kj.Min().).FirstOrDefault();

            BusinessDataReport businessDataReport = new BusinessDataReport();

            foreach (BusinessLigneReleve item in ligneReleveContent)
            {
                infosDates.Add(item.DateLigneReleve.Add(item.HeureLigneReleve));
            }

            BusinessTemperature temperature = new BusinessTemperature
            {
                TempMin = ligneReleveContent.Min(ligne => ligne.Temperature),
                TempMax = ligneReleveContent.Max(ligne => ligne.Temperature),
                TempAvg = ligneReleveContent.Average(ligne => ligne.Temperature)
            };

            businessDataReport.Temperature = temperature;

            BusinessHygrometrie hygrometrie = new BusinessHygrometrie
            {
                HygrometrieMin = ligneReleveContent.Min(ligne => ligne.Hygrometrie),
                HygrometrieMax = ligneReleveContent.Max(ligne => ligne.Hygrometrie),
                HygrometrieAvg = ligneReleveContent.Average(ligne => ligne.Hygrometrie)
            };

            businessDataReport.Hygrometrie = hygrometrie;

            BusinessDateAndTime businessDateAndTime = new BusinessDateAndTime
            {
                StartTime = infosDates.Min(),
                EndTime   = infosDates.Max()
            };

            businessDateAndTime.ElapsedTime = businessDateAndTime.EndTime - businessDateAndTime.StartTime;
            //businessDateAndTime.StorageInterval = infosDates[1] - infosDates[0];
            businessDateAndTime.StorageInterval = infosDates[1].Subtract(infosDates[0]);

            //businessDataReport.Notes();

            businessDataReport.TotalRecords = ligneReleveContent.Count;

            BusinessCapteur businessCapteur = ServiceCapteur.GetCapteurByReleveId(ligneReleveContent[0].ReleveID);

            businessDataReport.NumeroSerieCapteur = businessCapteur.NumeroSerie;

            //other
            string SNField              = businessDataReport.NumeroSerieCapteur.ToString();
            string totalRecordsField    = ligneReleveContent.Count.ToString();
            string storageIntervalField = businessDateAndTime.StorageInterval.ToString();
            //temp
            string tempMinField = temperature.TempMin.ToString("0.00");
            string tempMaxField = temperature.TempMax.ToString("0.00");
            string tempAvgField = temperature.TempAvg.ToString("0.00");
            //hygrometrie
            string hygroMinField = hygrometrie.HygrometrieMin.ToString();
            string hygroMaxField = hygrometrie.HygrometrieMax.ToString();
            string hygroAvgField = hygrometrie.HygrometrieAvg.ToString("0.00");
            //date
            string startDateField   = businessDateAndTime.StartTime.ToString();
            string endDateField     = businessDateAndTime.EndTime.ToString();
            string ElapsedDateField = businessDateAndTime.ElapsedTime.ToString(@"ddd\hh\:mm\:ss");

            //toGlobal
            SuperGlobal.GlobalSN              = SNField;
            SuperGlobal.GlobalTotalRecords    = totalRecordsField;
            SuperGlobal.GlobalStorageInterval = storageIntervalField;
            SuperGlobal.GlobalTempMin         = tempMinField;
            SuperGlobal.GlobalTempMax         = tempMaxField;
            SuperGlobal.GlobalTempAVG         = tempAvgField;
            SuperGlobal.GlobalHygroMin        = hygroMinField;
            SuperGlobal.GlobalHygroMax        = hygroMaxField;
            SuperGlobal.GlobalHygroAVG        = hygroAvgField;
            SuperGlobal.GlobalStartDate       = startDateField;
            SuperGlobal.GlobalEndDate         = endDateField;
            SuperGlobal.GlobalElapsedDate     = ElapsedDateField;

            PDF pdf = new PDF(ligneReleveContent);

            pdf.Show();
            this.Close();
        }
        //List<BusinessLigneReleve> modelReleve;

        public MainWindow()
        {
            InitializeComponent();
            gridCapteur.ItemsSource = ServiceCapteur.GetCapteur();
        }