示例#1
0
        private List <Consommation> CalculerListeConsoPersoAnnee(int paramAnnee, int paramApptId)
        {
            List <Consommation> list_Conso      = new List <Consommation>();
            List <Consommation> list_Date       = bdd_conso.get_ListConsommationForYearAndAppt(paramAnnee, paramApptId);
            Consommation        consoPrecedente = new Consommation();;

            list_Date = list_Date.OrderBy(v => v.Date).ToList();

            for (int mois = 1; mois <= 12; mois++)
            {
                Consommation consoDate = list_Date.Where(d => d.Date.Month == mois).OrderByDescending(d => d.Date).FirstOrDefault();

                if (consoDate != null)
                {
                    Consommation conso = consoDate.ShallowCopy();
                    if (mois != 1)
                    {
                        conso.Cuisine       -= consoPrecedente.Cuisine;
                        conso.Salon         -= consoPrecedente.Salon;
                        conso.Chambre_Salon -= consoPrecedente.Chambre_Salon;
                        conso.Chambre1      -= consoPrecedente.Chambre1;
                        conso.Chambre2      -= consoPrecedente.Chambre2;
                        conso.Chambre3      -= consoPrecedente.Chambre3;
                        conso.Sdb           -= consoPrecedente.Sdb;
                    }

                    consoPrecedente = list_Date.Where(d => d.Date.Month == mois).OrderByDescending(d => d.Date).FirstOrDefault();
                    list_Conso.Add(conso);
                }
            }

            return(list_Conso);
        }
示例#2
0
        //Ajout d'une ligne de relevé
        public void AjouteReleve()
        {
            try
            {
                int      appId         = Convert.ToInt32(Request.Params["paramApptId"]);
                DateTime dateStr       = Convert.ToDateTime(Request.Params["paramDate"]);
                int      ConsoCuisine  = Convert.ToInt16(Request.Params["paramConsoCuisine"]);
                int      ConsoSalon    = Convert.ToInt16(Request.Params["paramConsoSalon"]);
                int      ConsoSalonCh  = Convert.ToInt16(Request.Params["paramConsoSalonCh"]);
                int      ConsoChambre1 = Convert.ToInt16(Request.Params["paramConsoChambre1"]);
                int      ConsoChambre2 = Convert.ToInt16(Request.Params["paramConsoChambre2"]);
                int      ConsoChambre3 = Convert.ToInt16(Request.Params["paramConsoChambre3"]);
                int      ConsoSdb      = Convert.ToInt16(Request.Params["paramConsoSdb"]);

                Consommation conso = new Consommation();
                conso.AppartementId = appId;
                conso.Date          = dateStr;
                conso.Cuisine       = ConsoCuisine;
                conso.Salon         = ConsoSalon;
                conso.Chambre_Salon = ConsoSalonCh;
                conso.Chambre1      = ConsoChambre1;
                conso.Chambre2      = ConsoChambre2;
                conso.Chambre3      = ConsoChambre3;
                conso.Sdb           = ConsoSdb;

                this.bdd_conso.Add_ConsoChauffage(conso);

                TempData["message"] = "Consommation ajoutée";
            }
            catch (Exception ex)
            {
                TempData["message"] = "Erreur lors de l'ajout : " + ex.Message;
            }
        }
示例#3
0
        private Consommation CalculerListeConsoMoyenneAnnee(int paramAnnee)
        {
            List <Appartement>  liste_Appt       = bdd_appartement.Get_AllAppartements();
            List <Consommation> list_Conso       = new List <Consommation>();
            List <Consommation> list_ConsoType   = new List <Consommation>();
            Consommation        consoMoyenne     = new Consommation();
            Consommation        consoMoyenneType = new Consommation();

            string type = bdd_appartement.Get_AppartementFromName(User.Identity.Name).Type;

            foreach (Appartement app in liste_Appt)
            {
                Consommation conso_appt = bdd_conso.get_ConsommationForYearAndAppt(paramAnnee, app.AppartementId);
                list_Conso.Add(conso_appt);

                if (type == app.Type)
                {
                    list_ConsoType.Add(conso_appt);
                }
            }

            //Consos moyenne
            int nbconsos = list_Conso.Count();

            if (nbconsos == 0)
            {
                nbconsos = 1;
            }
            consoMoyenne.Cuisine       = list_Conso.Sum(m => m.Cuisine) / nbconsos;
            consoMoyenne.Salon         = list_Conso.Sum(m => m.Salon) / nbconsos;
            consoMoyenne.Chambre_Salon = list_Conso.Sum(m => m.Chambre_Salon) / nbconsos;
            consoMoyenne.Chambre1      = list_Conso.Sum(m => m.Chambre1) / nbconsos;
            consoMoyenne.Chambre2      = list_Conso.Sum(m => m.Chambre2) / nbconsos;
            consoMoyenne.Chambre3      = list_Conso.Sum(m => m.Chambre3) / nbconsos;
            consoMoyenne.Sdb           = list_Conso.Sum(m => m.Sdb) / nbconsos;

            //Conso moyenne type
            int nbconsosType = list_ConsoType.Count();

            if (nbconsosType == 0)
            {
                nbconsosType = 1;
            }
            consoMoyenneType.Cuisine       = list_ConsoType.Sum(m => m.Cuisine) / nbconsosType;
            consoMoyenneType.Salon         = list_ConsoType.Sum(m => m.Salon) / nbconsosType;
            consoMoyenneType.Chambre_Salon = list_ConsoType.Sum(m => m.Chambre_Salon) / nbconsosType;
            consoMoyenneType.Chambre1      = list_ConsoType.Sum(m => m.Chambre1) / nbconsosType;
            consoMoyenneType.Chambre2      = list_ConsoType.Sum(m => m.Chambre2) / nbconsosType;
            consoMoyenneType.Chambre3      = list_ConsoType.Sum(m => m.Chambre3) / nbconsosType;
            consoMoyenneType.Sdb           = list_ConsoType.Sum(m => m.Sdb) / nbconsosType;


            TempData["consoMoyenneType"] = consoMoyenneType;
            return(consoMoyenne);
        }
示例#4
0
        //Get - Conso courante/max - par année et par appartement
        public Consommation get_ConsommationForYearAndAppt(int annee, int apptId)
        {
            Consommation        maConso    = new Consommation();
            List <Consommation> listConsos = get_ListConsommationForYearAndAppt(annee, apptId);

            if (listConsos.Count > 0)
            {
                DateTime maxDate = listConsos.Max(d => d.Date);
                maConso = listConsos.FirstOrDefault(v => v.Date == maxDate);
            }

            return(maConso);
        }
 public ActionResult Create(Consommation Consommation)
 {
     if (!ModelState.IsValid)
     {
         return(View());
     }
     try
     {
         _ConsommationRepository.Add(Consommation);
         _ConsommationRepository.Save();
         return(RedirectToAction(nameof(Index)));
     }
     catch
     {
         return(View());
     }
 }
示例#6
0
        //GET - consommations moyennes pour toutes les années
        public JsonResult GetConsommationsMoyennesTotal(int paramApptId)
        {
            int currentYear = DateTime.Now.Year;
            int minYear     = bdd_conso.get_MinimumYear(paramApptId);
            var result      = new List <object>();

            for (int annee = minYear; annee <= currentYear; annee++)
            {
                Consommation maConso      = bdd_conso.get_ConsommationForYearAndAppt(annee, paramApptId);
                Consommation consoMoyenne = CalculerListeConsoMoyenneAnnee(annee);
                Consommation consoType    = (Consommation)TempData["consoMoyenneType"];

                int maConsoTotale   = maConso.calculerTotal();
                int consoMoyTotale  = consoMoyenne.calculerTotal();
                int consoTypeTotale = consoType.calculerTotal();
                result.Add(new { annee, maConsoTotale, consoMoyTotale, consoTypeTotale });
            }

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
示例#7
0
        // GET (AJAX) - Chargement du tableau de consommation de chauffage de l'année
        public JsonResult GetListConsoChauffagePieAnnee(int paramAnnee, int paramApptId)
        {
            Consommation conso = bdd_conso.get_ConsommationForYearAndAppt(paramAnnee, paramApptId);


            var result = new List <object>();

            result.Add(
                new
            {
                conso.Cuisine,
                conso.Salon,
                conso.Chambre_Salon,
                conso.Chambre1,
                conso.Chambre2,
                conso.Chambre3,
                conso.Sdb
            });

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
示例#8
0
        //GET - Liste Consommations - par année et par appartement
        public List <Consommation> get_ListConsommationForYearAndAppt(int annee, int apptId)
        {
            List <Consommation> list_infos = new List <Consommation>();
            string sql = "SELECT Conso_Id, Date, AppartementId, Cuisine, Salon, Chambre_Salon, Chambre1, Chambre2, Chambre3, Sdb FROM Consommation WHERE Year(Date) = @paramDate AND AppartementId = @paramApptId order by Date";

            using (var conn = new SqlConnection(this.connectionString))
            {
                conn.Open();
                using (var cmd = new SqlCommand(sql, conn))
                {
                    cmd.Parameters.AddWithValue("paramDate", annee);
                    cmd.Parameters.AddWithValue("paramApptId", apptId);

                    using (var reader = cmd.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            Consommation info = new Consommation();

                            info.ConsommationId = reader.GetInt32(0);
                            info.Date           = reader.GetDateTime(1);
                            info.AppartementId  = reader.GetInt32(2);
                            info.Cuisine        = reader.GetInt32(3);
                            info.Salon          = reader.GetInt32(4);
                            info.Chambre_Salon  = reader.GetInt32(5);
                            info.Chambre1       = reader.GetInt32(6);
                            info.Chambre2       = reader.GetInt32(7);
                            info.Chambre3       = reader.GetInt32(8);
                            info.Sdb            = reader.GetInt32(9);

                            list_infos.Add(info);
                        }
                    }
                }
                conn.Close();
            }
            return(list_infos);
        }
        public ActionResult Edit(int id, Consommation Consommation)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }
            var exist = _ConsommationRepository.GetByID(id);

            if (exist == null)
            {
                return(NotFound());
            }
            try
            {
                _ConsommationRepository.Update(Consommation);
                _ConsommationRepository.Save();
                return(RedirectToAction(nameof(Index)));
            }
            catch
            {
                return(View());
            }
        }
示例#10
0
        //GET - consommations par piéces moyennes pour l'année
        public JsonResult GetConsommationsMoyennes(int paramAnnee, int paramApptId)
        {
            Consommation maConso          = bdd_conso.get_ConsommationForYearAndAppt(paramAnnee, paramApptId);
            Consommation consoMoyenne     = this.CalculerListeConsoMoyenneAnnee(paramAnnee);
            Consommation consoMoyenneType = (Consommation)TempData["consoMoyenneType"];
            Consommation consoFaibleType  = (Consommation)TempData["consoMoyenneType"];


            var    result  = new List <object>();
            String legend  = "Cuisine";
            int    perso   = maConso.Cuisine;
            int    moyenne = consoMoyenne.Cuisine;
            int    moyType = consoMoyenneType.Cuisine;

            result.Add(new { legend, perso, moyenne, moyType });

            legend = "Salon"; perso = maConso.Salon; moyenne = consoMoyenne.Salon;  moyType = consoMoyenneType.Salon;
            result.Add(new { legend, perso, moyenne, moyType });

            legend = "Salon / Chambre"; perso = maConso.Chambre_Salon; moyenne = consoMoyenne.Chambre_Salon; moyType = consoMoyenneType.Chambre_Salon;
            result.Add(new { legend, perso, moyenne, moyType });

            legend = "Chambre 1"; perso = maConso.Chambre1; moyenne = consoMoyenne.Chambre1; moyType = consoMoyenneType.Chambre1;
            result.Add(new { legend, perso, moyenne, moyType });

            legend = "Chambre 2"; perso = maConso.Chambre2; moyenne = consoMoyenne.Chambre2; moyType = consoMoyenneType.Chambre2;
            result.Add(new { legend, perso, moyenne, moyType });

            legend = "Chambre 3"; perso = maConso.Chambre3; moyenne = consoMoyenne.Chambre3; moyType = consoMoyenneType.Chambre3;
            result.Add(new { legend, perso, moyenne, moyType });

            legend = "Sdb"; perso = maConso.Sdb; moyenne = consoMoyenne.Sdb; moyType = consoMoyenneType.Sdb;
            result.Add(new { legend, perso, moyenne, moyType });


            return(Json(result, JsonRequestBehavior.AllowGet));
        }
示例#11
0
        //------------------------------------------------------------------------------------------------------------
        // INSERT
        //------------------------------------------------------------------------------------------------------------
        public void Add_ConsoChauffage(Consommation info)
        {
            using (SqlConnection conn = new SqlConnection(this.connectionString))
            {
                conn.Open();
                string sql = "INSERT INTO Consommation (Date, AppartementId, Cuisine, Salon, Chambre_Salon, Chambre1, Chambre2, Chambre3, Sdb) VALUES(@Date, @AppartementId, @ConsoCuisine, @ConsoSalon, @ConsoChambre_Salon, @ConsoChambre1, @ConsoChambre2, @ConsoChambre3, @ConsoSdb)";

                SqlCommand cmd = new SqlCommand(sql, conn);
                cmd.Parameters.Add("@Date", SqlDbType.DateTime).Value          = info.Date;
                cmd.Parameters.Add("@AppartementId", SqlDbType.Decimal).Value  = info.AppartementId;
                cmd.Parameters.Add("@ConsoCuisine", SqlDbType.Int).Value       = info.Cuisine;
                cmd.Parameters.Add("@ConsoSalon", SqlDbType.Int).Value         = info.Salon;
                cmd.Parameters.Add("@ConsoChambre_Salon", SqlDbType.Int).Value = info.Chambre_Salon;
                cmd.Parameters.Add("@ConsoChambre1", SqlDbType.Int).Value      = info.Chambre1;
                cmd.Parameters.Add("@ConsoChambre2", SqlDbType.Int).Value      = info.Chambre2;
                cmd.Parameters.Add("@ConsoChambre3", SqlDbType.Int).Value      = info.Chambre3;
                cmd.Parameters.Add("@ConsoSdb", SqlDbType.Int).Value           = info.Sdb;

                cmd.CommandType = CommandType.Text;
                cmd.ExecuteNonQuery();

                conn.Close();
            }
        }
示例#12
0
        // GET (AJAX) - Chargement du tableau de consommation de chauffage de l'année
        public JsonResult GetListConsoChauffageTotal(int paramApptId)
        {
            List <Consommation> list_Recap = new List <Consommation>();


            int currentYear = DateTime.Now.Year;
            int minYear     = bdd_conso.get_MinimumYear(paramApptId);

            for (int annee = minYear; annee <= currentYear; annee++)
            {
                Consommation conso = bdd_conso.get_ConsommationForYearAndAppt(annee, paramApptId);
                list_Recap.Add(conso);
            }

            var result = new List <object>();

            foreach (Consommation info in list_Recap)
            {
                int Annee = info.Date.Year;

                result.Add(
                    new
                {
                    Annee,
                    info.Cuisine,
                    info.Salon,
                    info.Chambre_Salon,
                    info.Chambre1,
                    info.Chambre2,
                    info.Chambre3,
                    info.Sdb
                });
            }

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
示例#13
0
 public void Update(Consommation consommation)
 {
     _dbContext.Entry(consommation).State = EntityState.Modified;
 }
示例#14
0
 public void Insert(Consommation consommation)
 {
     _dbContext.Consommations.Add(consommation);
 }
 public void Add(Consommation Consommation)
 {
     _dbContext.Consommations.Add(Consommation);
 }
示例#16
0
 public void Update(Consommation consommation)
 {
     _dbContext.Entry(consommation).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
 }