/// <summary> /// Constructeur /// </summary> /// <param name="nav"></param> /// <param name="cat"></param> public ViewModelListProduitPage(INavigation nav, Categorie cat) { _Navigation = nav; Categorie = cat; /* Produits = new ObservableCollection<Produit>(); * * Produit pr1 = new Produit(); * Produit pr2 = new Produit(); * Produit pr3 = new Produit(); * Produit pr4 = new Produit(); * Produit pr5 = new Produit(); * * pr1.Nom = "Produit 1"; * pr2.Nom = "Produit 2"; * pr3.Nom = "Produit 3"; * pr4.Nom = "Produit 4"; * pr5.Nom = "Produit 5"; * * * Produits.Add(pr1); * Produits.Add(pr2); * Produits.Add(pr3); * Produits.Add(pr4); * Produits.Add(pr5);*/ DBProduit db = new DBProduit(); Produits = new ObservableCollection <Produit>(db.GetAllByCategorie(cat.ID)); }
/// <summary> /// WS categories callback /// </summary> /// <param name="obj"></param> private void CategoriesCallback(IRestResponse obj) { if (obj.StatusCode == System.Net.HttpStatusCode.OK) { //INSERT | UPDATE Categories WSCategorie ws = new WSCategorie(); List <Categorie> categories = ws.JSONToCategorie(obj.Content); DBCategorie dbc = new DBCategorie(); foreach (Categorie c in categories) { Categorie categorieFound = dbc.GetByIdServeur(c.IDServeur); if (categorieFound != null) { dbc.UpdateByIdServeur(c); } else { dbc.Add(c); } categorieFound = dbc.GetByIdServeur(c.IDServeur); // INSERT | UPDATE Produits DBProduit dbp = new DBProduit(); foreach (Produit produit in c.Produits) { Produit produitFound = dbp.GetByIdServeur(produit.IDServeur); if (produitFound != null) { dbp.UpdateByIdServeur(produit); } else { produit.IDCategorie = categorieFound.ID; dbp.Add(produit); } } } IEnumerable <Categorie> allCategories = dbc.GetAll(); foreach (Categorie item in allCategories) { bool canDelete = true; foreach (Categorie item2 in categories) { if (item.IDServeur == item2.IDServeur) { canDelete = false; break; } } if (canDelete == true) { dbc.Delete(item.ID); } } } }
/// <summary> /// Constructeur /// </summary> /// <param name="nav"></param> /// <param name="ch"></param> public ViewModelChantierPage(INavigation nav, Chantier ch) { Navigation = nav; /* if (ch.Produits == null) * { * Produits = new ObservableCollection<Produit>(); * Produit p1 = new Produit(); * p1.Nom = "Produit 1"; * Produits.Add(p1); * Produit p2 = new Produit(); * p2.Nom = "Produit 2"; * Produits.Add(p2); * Produit p3 = new Produit(); * p3.Nom = "Produit 3"; * Produits.Add(p3); * } * else * { * this.Produits = ch.Produits; * }*/ Chantier = ch; DBChantierProduit db = new DBChantierProduit(); DBProduit dbp = new DBProduit(); List <ChantierProduit> cp = db.GetByChantier(ch.ID); IEnumerable <ChantierProduit> test = db.GetAll(); ch.Produits = new ObservableCollection <Produit>(); foreach (ChantierProduit item in cp) { Produit p = dbp.Get(item.IDProduit); if (p != null) { ch.Produits.Add(p); } } Produits = ch.Produits; }
/// <summary> /// Permet de calculer l'estimation en watt consommée /// </summary> /// <param name="anneeBatiment"></param> /// <returns></returns> private int?CalculEstimtion(int?anneeBatiment) { int?result = 0; int valeurRejete = 0; int?nbPac = 0; //Calcul de la consomation en watt if (anneeBatiment >= 1972 && anneeBatiment <= 1980) { result = Estimation.Surface * Constant.Constant.AV1972; valeurRejete = ValeurRejeteBureau(Constant.Constant.AV1972); } else if (anneeBatiment >= 1980 && anneeBatiment <= 2005) { result = Estimation.Surface * Constant.Constant.AN1980; valeurRejete = ValeurRejeteBureau(Constant.Constant.AN1980); } else if (anneeBatiment >= 2005 && anneeBatiment <= 2011) { result = Estimation.Surface * Constant.Constant.RT2005; valeurRejete = ValeurRejeteBureau(Constant.Constant.RT2005); } else if (anneeBatiment >= 2012) { result = Estimation.Surface * Constant.Constant.RT2012; valeurRejete = ValeurRejeteBureau(Constant.Constant.RT2012); } //Récupération du PAC nécessaire afin de connaître la puissance à utiliser DBProduit dbp = new DBProduit(); Produits = new ObservableCollection <Produit>(dbp.GetAll()); Produit pacRetenu = null; Boolean pacTrouve = false; //Recherche le PAC qui convient pour ce bâtiment foreach (Produit item in Produits) { if (pacTrouve == false) { //Moyenne entre la puissance à chaud et à froid du PAC double moyennePac = (item.PuissanceCalorifiqueChaud + item.PuissanceCalorifiqueFroid) / 2; //Selection du PAC if (valeurRejete < moyennePac) { pacTrouve = true; pacRetenu = item; //Récupération du nom du PAC Pac = item.Nom; } } } //Récupération du PAC le plus élever si pas de c if (pacRetenu == null) { double moyennePacRetenu = 0; foreach (Produit item in Produits) { if (moyennePacRetenu == 0) { pacRetenu = item; Pac = item.Nom; } //Moyenne entre la puissance à chaud et à froid du PAC double moyennePac = (item.PuissanceCalorifiqueChaud + item.PuissanceCalorifiqueFroid) / 2; moyennePacRetenu = (pacRetenu.PuissanceCalorifiqueChaud + pacRetenu.PuissanceCalorifiqueFroid) / 2; //Selection du PAC if (moyennePacRetenu < moyennePac) { pacRetenu = item; Pac = item.Nom; } } } if (Produits.Count != 0) { //Nombre de pac double arrondi = 0; arrondi = Math.Ceiling((double)result / pacRetenu.PuissanceCalorifiqueChaud); nbPac = Convert.ToInt32(arrondi); //Consommation électrique estimé int moyennePuissanceElectrique = (pacRetenu.PuissanceElectriqueChaud + pacRetenu.PuissanceElectriqueFroid) / 2; //Récupération de la consmmation lectrique pour un PAC PacCaractUnitaire = moyennePuissanceElectrique.ToString(); result = nbPac * moyennePuissanceElectrique; Estimation.ResultatEstimation = (int)result; } else { result = 0; } //retourne le nombre de watt électrique consommé return(result); }
/// <summary> /// WS chantier callback /// </summary> /// <param name="obj"></param> private void ChantierCallback(IRestResponse obj) { if (obj.StatusCode == System.Net.HttpStatusCode.OK) { WSChantier ws = new WSChantier(); List <Chantier> chantiers = ws.JSONToChantier(obj.Content); DBChantier dbc = new DBChantier(); DBProduit dbp = new DBProduit(); DBChantierProduit dbcp = new DBChantierProduit(); foreach (Chantier c in chantiers) { Chantier chantierFound = dbc.GetByIdServeur(c.IDServeur); if (chantierFound != null) { dbc.UpdateByIdServeur(c); } else { dbc.Add(c); } chantierFound = dbc.GetByIdServeur(c.IDServeur); foreach (Produit produit in c.Produits) { Produit p = dbp.GetByIdServeur(produit.IDServeur); if (p != null) { ChantierProduit chantierproduitFound = dbcp.Get(chantierFound.ID, p.ID); if (chantierproduitFound != null) { chantierproduitFound.IDChantier = chantierFound.ID; chantierproduitFound.IDProduit = p.ID; dbcp.UpdateByIdChantierProduit(chantierproduitFound); } else { dbcp.Add(new ChantierProduit(chantierFound.ID, p.ID)); } } } } IEnumerable <Chantier> allChantiers = dbc.GetAll(); foreach (Chantier item in allChantiers) { bool canDelete = true; foreach (Chantier item2 in chantiers) { if (item.IDServeur == item2.IDServeur) { canDelete = false; break; } } if (canDelete == true) { List <ChantierProduit> cp = dbcp.GetByChantier(item.ID); foreach (ChantierProduit item3 in cp) { dbcp.DeleteByIdChantier(item3.IDChantier); } dbc.Delete(item.ID); } } } }