/// <summary> /// Constructeur /// </summary> /// <param name="nav"></param> public ViewModelListeChantierPage(INavigation nav) { _Navigation = nav; /* Chantiers = new ObservableCollection<Chantier>(); * * Chantier pr1 = new Chantier(); * Chantier pr2 = new Chantier(); * Chantier pr3 = new Chantier(); * Chantier pr4 = new Chantier(); * Chantier pr5 = new Chantier(); * * pr1.Nom = "Chantier 1"; * pr2.Nom = "Chantier 2"; * pr3.Nom = "Chantier 3"; * pr4.Nom = "Chantier 4"; * pr5.Nom = "Chantier 5"; * * * Chantiers.Add(pr1); * Chantiers.Add(pr2); * Chantiers.Add(pr3); * Chantiers.Add(pr4); * Chantiers.Add(pr5);*/ DBChantier db = new DBChantier(); IEnumerable <Chantier> chantiers = db.GetAll(); Chantiers = new ObservableCollection <Chantier>(chantiers); }
/// <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); } } } }