/// <summary> /// Get categories from WS /// </summary> private async void GetCategoriesFromWS() { WSCategorie ws = new WSCategorie(); IsBusy = true; await ws.GetCategories(Global.commercial.Token, CategoriesCallback); IsBusy = false; }
/// <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); } } } }