예제 #1
0
        public List <Reglage> ListerReglage(int idProfil) // on liste une liste de réglage selon l'id
        {
            string          query      = "SELECT * FROM reglage WHERE id_profil = '" + idProfil + "'";
            List <Reglage>  reglages   = null;
            MySqlConnection connection = OuvrirConnection();

            if (connection != null)
            {
                MySqlCommand    cmd  = new MySqlCommand(query, connection);
                MySqlDataReader msdr = cmd.ExecuteReader();

                reglages = new List <Reglage>();
                while (msdr.Read())
                {
                    Reglage reglage = new Reglage()
                    {
                        Id      = msdr.GetInt32(0),
                        Duree   = new TimeSpan(msdr.GetInt32(1), 0, 0, 0, 0),
                        Lumiere = msdr.GetDouble(2),
                        TemperatureInterieur = msdr.GetDouble(3),
                        Humidite             = msdr.GetDouble(4),
                        Vent = msdr.GetDouble(5),
                    };
                    reglages.Add(reglage);
                }

                connection.Close();
            }

            return(reglages);
        }
예제 #2
0
        public int Ajouter(Reglage reglage, int idProfil)
        {
            string query = "INSERT INTO reglage (duree,lumiere,temperatureInterieur,humidite,vent,id_profil) VALUES('"
                           + reglage.Duree.Days + "','" + reglage.Lumiere.ToString("F", CultureInfo.InvariantCulture) + "','" + reglage.TemperatureInterieur.ToString("F", CultureInfo.InvariantCulture) + "','" + reglage.Humidite.ToString("F", CultureInfo.InvariantCulture) + "','" + reglage.Vent.ToString("F", CultureInfo.InvariantCulture) + "','" + idProfil + "'); SELECT LAST_INSERT_ID();";

            return(connection.Ajouter(query));
        }
예제 #3
0
        public Reglage SelectionnerReglage(int idProfil, double lumiere, DateTime dateDeDebut) // on détermine avec la date et la lumiere quel réglage on sélectionne pour pouvoir mettre en marche les actionneurs
        {
            string          query      = "SELECT * FROM reglage WHERE id_profil = '" + idProfil + "' AND duree >= '" + (DateTime.Now - dateDeDebut).Days + "' AND lumiere >='" + lumiere + "' ORDER BY duree,lumiere LIMIT 1";
            Reglage         reglage    = null;
            MySqlConnection connection = OuvrirConnection();

            if (connection != null)
            {
                MySqlCommand    cmd  = new MySqlCommand(query, connection);
                MySqlDataReader msdr = cmd.ExecuteReader();

                if (msdr.Read())
                {
                    reglage = new Reglage()
                    {
                        Id      = msdr.GetInt32(0),
                        Duree   = new TimeSpan(msdr.GetInt32(1), 0, 0, 0, 0),
                        Lumiere = msdr.GetDouble(2),
                        TemperatureInterieur = msdr.GetDouble(3),
                        Humidite             = msdr.GetDouble(4),
                        Vent = msdr.GetDouble(5),
                    };
                }


                connection.Close();
            }

            return(reglage);
        }
예제 #4
0
 public ReglageViewModel(Reglage r, int idProfil = 0)
 {
     this.IdReglage = r.Id;
     this.IdProfil = idProfil;
     this.Duree = r.Duree.Days;
     this.Lumiere = r.Lumiere;
     this.TemperatureInterieur = r.TemperatureInterieur;
     this.Humidite = r.Humidite;
 }
예제 #5
0
 public ReglageViewModel(Reglage r, int idProfil = 0)
 {
     this.IdReglage            = r.Id;
     this.IdProfil             = idProfil;
     this.Duree                = r.Duree.Days;
     this.Lumiere              = r.Lumiere;
     this.TemperatureInterieur = r.TemperatureInterieur;
     this.Humidite             = r.Humidite;
 }
예제 #6
0
	public void ModifierReglage(int idReglage, Reglage reglage)
    {
        Reglage temp = conditions.Single(r => r.Id == idReglage);
        temp.Humidite = reglage.Humidite;
        temp.Duree = reglage.Duree;
        temp.Lumiere = reglage.Lumiere;
        temp.TemperatureInterieur = reglage.TemperatureInterieur;
        temp.Vent = reglage.Vent;

        connection.Modifier(idReglage, reglage);
	}
예제 #7
0
 // GET: api/Reglage/5/6
 public ReglageViewModel Get(int idProfil, int idReglage)
 {
     try
     {
         Reglage r = gp.Selectionner(idProfil).SelectionnerReglage(idReglage);
         return(new ReglageViewModel(r));
     }
     catch (Exception)
     {
         return(null);
     }
 }
예제 #8
0
    public void ModifierReglage(int idReglage, Reglage reglage)
    {
        Reglage temp = conditions.Single(r => r.Id == idReglage);

        temp.Humidite             = reglage.Humidite;
        temp.Duree                = reglage.Duree;
        temp.Lumiere              = reglage.Lumiere;
        temp.TemperatureInterieur = reglage.TemperatureInterieur;
        temp.Vent = reglage.Vent;

        connection.Modifier(idReglage, reglage);
    }
예제 #9
0
 public ActionResult Create(int id, ReglageViewModel model)
 {
     if (ModelState.IsValid)
     {
         try
         {
             Profil p = gp.Selectionner(id);
             Reglage r = new Reglage(model);
             p.AjouterReglage(r);
             return RedirectToAction("Index", new { id });
         }
         catch(Exception ex)
         {
             ModelState.AddModelError("", "Erreur : " + ex.Message);
             return View(model);
         }
     }
     return View(model);
 }
예제 #10
0
 public ActionResult Create(int id, ReglageViewModel model)
 {
     if (ModelState.IsValid)
     {
         try
         {
             Profil  p = gp.Selectionner(id);
             Reglage r = new Reglage(model);
             p.AjouterReglage(r);
             return(RedirectToAction("Index", new { id }));
         }
         catch (Exception ex)
         {
             ModelState.AddModelError("", "Erreur : " + ex.Message);
             return(View(model));
         }
     }
     return(View(model));
 }
예제 #11
0
 public ActionResult Edit(int id, ReglageViewModel model)
 {
     if (ModelState.IsValid)
     {
         try
         {
             Profil  profil  = gp.Lister().Single(p => p.ListerReglage().Exists(r => r.Id == id)); //TODO: Meilleur façon de faire ça?
             Reglage reglage = new Reglage(model);
             profil.ModifierReglage(id, reglage);
             return(RedirectToAction("Index", new { profil.Id }));
         }
         catch (Exception ex)
         {
             ModelState.AddModelError("", "Erreur : " + ex.Message);
             return(View(model));
         }
     }
     return(View(model));
 }
예제 #12
0
        // PUT: api/Reglage/5/6
        public void Put(int idProfil, int idReglage, [FromBody] ReglageViewModel value)
        {
            Profil  p              = gp.Selectionner(idProfil);
            Reglage reglage        = p.SelectionnerReglage(idReglage);
            Reglage nouveauReglage = new Reglage(value);

            reglage.TemperatureInterieur = nouveauReglage.TemperatureInterieur;
            reglage.Humidite             = nouveauReglage.Humidite;
            if (nouveauReglage.Duree.Days != -1)
            {
                reglage.Duree = nouveauReglage.Duree;
            }

            if (nouveauReglage.Lumiere != -1)
            {
                reglage.Lumiere = nouveauReglage.Lumiere;
            }
            p.ModifierReglage(idReglage, reglage);
        }
예제 #13
0
        // PUT: api/Reglage/5/6
        public void Put(int idProfil, int idReglage, [FromBody] ReglageViewModel value)
        {

            Profil p = gp.Selectionner(idProfil);
            Reglage reglage = p.SelectionnerReglage(idReglage);
            Reglage nouveauReglage = new Reglage(value);

            reglage.TemperatureInterieur = nouveauReglage.TemperatureInterieur;
            reglage.Humidite = nouveauReglage.Humidite;
            if (nouveauReglage.Duree.Days != -1)
            {
                reglage.Duree = nouveauReglage.Duree;
            }

            if (nouveauReglage.Lumiere != -1)
            {
                reglage.Lumiere = nouveauReglage.Lumiere;
            }
            p.ModifierReglage(idReglage, reglage);
        }
예제 #14
0
 public ApercuViewModel(GestionProfilActuel gpa, LigneHistorique lh, Reglage r)
 {
     if (gpa.ProfilActuel != null)
     {
         NomProfilActuel = gpa.ProfilActuel.Nom;
         IdProfilActuel = gpa.ProfilActuel.Id;
         NombreDeJours = (DateTime.Now - gpa.DateDeDebut).Days;
         TemperatureInterieurProfil = r.TemperatureInterieur;
         HumiditeProfil = r.Humidite;
     }
     else
     {
         IdProfilActuel = 0;
     }
     
     TemperatureInterieurCapteur = lh.TemperatureInterieur;
     TemperatureExterieurCapteur = lh.TemperatureExterieur;
     HumiditeCapteur = lh.Humidite;
     LumiereCapteur = lh.Lumiere;
     VentCapteur = 0;
     DateDerniereMaJ = lh.Date.ToString();
 }
예제 #15
0
        public ApercuViewModel(GestionProfilActuel gpa, LigneHistorique lh, Reglage r)
        {
            if (gpa.ProfilActuel != null)
            {
                NomProfilActuel            = gpa.ProfilActuel.Nom;
                IdProfilActuel             = gpa.ProfilActuel.Id;
                NombreDeJours              = (DateTime.Now - gpa.DateDeDebut).Days;
                TemperatureInterieurProfil = r.TemperatureInterieur;
                HumiditeProfil             = r.Humidite;
            }
            else
            {
                IdProfilActuel = 0;
            }

            TemperatureInterieurCapteur = lh.TemperatureInterieur;
            TemperatureExterieurCapteur = lh.TemperatureExterieur;
            HumiditeCapteur             = lh.Humidite;
            LumiereCapteur  = lh.Lumiere;
            VentCapteur     = 0;
            DateDerniereMaJ = lh.Date.ToString();
        }
예제 #16
0
        public ActionResult Index()
        {
            ApercuViewModel model;

            try
            {
                ConnectionSQL   csql = new ConnectionSQL();
                LigneHistorique data = csql.DerniereEntreeHistorique();

                Profil  profil  = gp.Selectionner(data.Id_profil) ?? new Profil();
                Reglage reglage = profil.SelectionnerReglage(data.Id_reglage) ?? new Reglage();

                model = new ApercuViewModel(gpa, data, reglage);
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", "Erreur : " + ex.Message);
                model = new ApercuViewModel();
            }

            return(View(model));
        }
예제 #17
0
	public void AjouterReglage(Reglage reglage)
    {
        conditions.Add(reglage);
        reglage.Id = connection.Ajouter(reglage,id);
	}
예제 #18
0
 public void AjouterReglage(Reglage reglage)
 {
     conditions.Add(reglage);
     reglage.Id = connection.Ajouter(reglage, id);
 }
예제 #19
0
        public List<Reglage> ListerReglage(int idProfil) // on liste une liste de réglage selon l'id
        {

            string query = "SELECT * FROM reglage WHERE id_profil = '" + idProfil + "'";
            List<Reglage> reglages = null;
            MySqlConnection connection = OuvrirConnection();
            if (connection != null)
            {
                MySqlCommand cmd = new MySqlCommand(query, connection);
                MySqlDataReader msdr = cmd.ExecuteReader();
                
                reglages = new List<Reglage>();
                while (msdr.Read())
                {
                    Reglage reglage = new Reglage()
                    {
                        Id = msdr.GetInt32(0),
                        Duree = new TimeSpan(msdr.GetInt32(1), 0, 0, 0, 0),
                        Lumiere = msdr.GetDouble(2),
                        TemperatureInterieur = msdr.GetDouble(3),
                        Humidite = msdr.GetDouble(4),
                        Vent = msdr.GetDouble(5),
                    };
                    reglages.Add(reglage);
                }

                connection.Close();
            }

            return reglages;
        }
예제 #20
0
        public void Modifier(int id, Reglage reglage)
        {
            string query = "UPDATE reglage SET duree='" + reglage.Duree.Days + "', lumiere='" + reglage.Lumiere.ToString("F", CultureInfo.InvariantCulture) + "', temperatureInterieur='" + reglage.TemperatureInterieur.ToString("F", CultureInfo.InvariantCulture) + "', humidite='" + reglage.Humidite.ToString("F", CultureInfo.InvariantCulture) + "', vent='" + reglage.Vent.ToString("F", CultureInfo.InvariantCulture) + "' WHERE id='" + id + "'";

            connection.Modifier(query);
        }
예제 #21
0
 public void Modifier(int id, Reglage reglage)
 {
     string query = "UPDATE reglage SET duree='" + reglage.Duree.Days + "', lumiere='" + reglage.Lumiere.ToString("F", CultureInfo.InvariantCulture) + "', temperatureInterieur='" + reglage.TemperatureInterieur.ToString("F", CultureInfo.InvariantCulture) + "', humidite='" + reglage.Humidite.ToString("F", CultureInfo.InvariantCulture) + "', vent='" + reglage.Vent.ToString("F", CultureInfo.InvariantCulture) + "' WHERE id='" + id + "'";
     connection.Modifier(query);
 }
예제 #22
0
 public int Ajouter(Reglage reglage, int idProfil)
 {
     string query = "INSERT INTO reglage (duree,lumiere,temperatureInterieur,humidite,vent,id_profil) VALUES('"
         + reglage.Duree.Days + "','" + reglage.Lumiere.ToString("F", CultureInfo.InvariantCulture) + "','" + reglage.TemperatureInterieur.ToString("F", CultureInfo.InvariantCulture) +  "','" + reglage.Humidite.ToString("F", CultureInfo.InvariantCulture) + "','" + reglage.Vent.ToString("F", CultureInfo.InvariantCulture) + "','" + idProfil + "'); SELECT LAST_INSERT_ID();";
     return connection.Ajouter(query);
 }
예제 #23
0
        public ActionResult Edit(int id, ReglageViewModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {

                    Profil profil = gp.Lister().Single(p => p.ListerReglage().Exists(r => r.Id == id));   //TODO: Meilleur façon de faire ça?
                    Reglage reglage = new Reglage(model);
                    profil.ModifierReglage(id, reglage);
                    return RedirectToAction("Index", new { profil.Id });

                }
                catch(Exception ex)
                {
                    ModelState.AddModelError("", "Erreur : " + ex.Message);
                    return View(model);
                }
            }
            return View(model);
        }
예제 #24
0
        public Reglage SelectionnerReglage(int idProfil, double lumiere, DateTime dateDeDebut) // on détermine avec la date et la lumiere quel réglage on sélectionne pour pouvoir mettre en marche les actionneurs
        {
            string query = "SELECT * FROM reglage WHERE id_profil = '" + idProfil + "' AND duree >= '"+ (DateTime.Now - dateDeDebut).Days + "' AND lumiere >='"+lumiere+"' ORDER BY duree,lumiere LIMIT 1";
            Reglage reglage = null;
            MySqlConnection connection = OuvrirConnection();
            if (connection != null)
            {
                MySqlCommand cmd = new MySqlCommand(query, connection);
                MySqlDataReader msdr = cmd.ExecuteReader();

                if (msdr.Read())
                {

                    reglage = new Reglage()
                    {
                        Id = msdr.GetInt32(0),
                        Duree = new TimeSpan(msdr.GetInt32(1), 0, 0, 0, 0),
                        Lumiere = msdr.GetDouble(2),
                        TemperatureInterieur = msdr.GetDouble(3),
                        Humidite = msdr.GetDouble(4),
                        Vent = msdr.GetDouble(5),
                    };
                }
                

                connection.Close();
            }

            return reglage;
        }