public String GetImageSourceFromTri(e_tri t) { string res = ""; switch (tri) { case e_tri.TRI_AUCUN: res = "sort_none"; break; case e_tri.TRI_NOM: res = "sort_nom"; break; case e_tri.TRI_PRIX: res = "sort_prix"; break; case e_tri.TRI_FAV: res = "sort_fav"; break; default: res = "sort_none"; break; } return(res); }
private List <Pizza> GetPizzasFromTri(e_tri filtre, List <Pizza> list_pizzas) { if (list_pizzas == null) { return(null); } switch (filtre) { //Tri par ordre aplhabétique pour ces deux cas. case e_tri.TRI_FAV: case e_tri.TRI_NOM: { // listPizzasFiltre = pizzas.OrderBy(x => x.Titre).ToList(); Autre méthode List <Pizza> listPizzasFiltre = new List <Pizza>(list_pizzas); listPizzasFiltre.Sort((p1, p2) => { return(p1.Titre.CompareTo(p2.Titre)); }); return(listPizzasFiltre); } case e_tri.TRI_PRIX: { List <Pizza> listPizzasFiltre = new List <Pizza>(list_pizzas); listPizzasFiltre.OrderBy(x => x.prix).ToList(); return(listPizzasFiltre); } } return(list_pizzas); }
private void SortButtonClicked(object sender, EventArgs e) { switch (tri) { case e_tri.TRI_AUCUN: tri = e_tri.TRI_NOM; break; case e_tri.TRI_NOM: tri = e_tri.TRI_PRIX; break; case e_tri.TRI_PRIX: tri = e_tri.TRI_FAV;; break; case e_tri.TRI_FAV: tri = e_tri.TRI_AUCUN; break; } sortImage.Source = GetImageSourceFromTri(tri); listView.ItemsSource = GetPizzaCells(GetPizzasFromTri(tri, pizzas), pizzasFav); Application.Current.Properties[KEY_TRI] = (int)tri; Application.Current.SavePropertiesAsync(); }
void Filtre_Button_Clicked(object sender, System.EventArgs e) { Console.WriteLine("Filtre boutton clicked"); if (filtre == e_tri.TRI_AUCUN) { filtre = e_tri.TRI_NOM; } else if (filtre == e_tri.TRI_NOM) { filtre = e_tri.TRI_PRIX; } else if (filtre == e_tri.TRI_PRIX) { filtre = e_tri.TRI_FAV; } else if (filtre == e_tri.TRI_FAV) { filtre = e_tri.TRI_AUCUN; } imageButtonFiltre.Source = GetImageButtonNameFiltreFromTri(filtre); listeViewPizzas.ItemsSource = GetPizzaCells(GetPizzasFromTri(filtre, pizzas), pizzasFav); Application.Current.Properties[KEY_TRI] = (int)filtre; Application.Current.SavePropertiesAsync(); }
private void SortButton_Clicked(object sender, EventArgs e) { if (tri == e_tri.TRI_AUCUN) { tri = e_tri.TRI_NOM; } else if (tri == e_tri.TRI_NOM) { tri = e_tri.TRI_PRIX; } else if (tri == e_tri.TRI_PRIX) { tri = e_tri.TRI_FAV; } else if (tri == e_tri.TRI_FAV) { tri = e_tri.TRI_AUCUN; } sortButton.Source = GetImageSourceFromTri(tri); listView.ItemsSource = GetPizzaCells(GetPizzasFromTri(tri, pizzas), pizzasFav);; Application.Current.Properties[KEY_TRI] = (int)tri; Application.Current.SavePropertiesAsync(); }
public MainPage() { InitializeComponent(); LoadFavList(); if (Application.Current.Properties.ContainsKey(KEY_TRI)) { tri = (e_tri)Application.Current.Properties[KEY_TRI]; sortButton.Source = GetImageSourceFromTri(tri); } listView.RefreshCommand = new Command((obj) => { DownloadData((pizzas) => { if (pizzas != null) { listView.ItemsSource = GetPizzaCells(GetPizzasFromTri(tri, pizzas), pizzasFav); } listView.IsRefreshing = false; }); }); listView.IsVisible = false; waitLayout.IsVisible = true; if (File.Exists(jsonFileName)) { string pizzaJson = File.ReadAllText(jsonFileName); if (!string.IsNullOrEmpty(pizzaJson)) { pizzas = JsonConvert.DeserializeObject <List <Pizza> >(pizzaJson); listView.ItemsSource = GetPizzaCells(GetPizzasFromTri(tri, pizzas), pizzasFav); listView.IsVisible = true; waitLayout.IsVisible = false; } } DownloadData((pizzas) => { if (pizzas != null) { listView.ItemsSource = GetPizzaCells(GetPizzasFromTri(tri, pizzas), pizzasFav); } listView.IsVisible = true; waitLayout.IsVisible = false; }); }
private string GetImageSourceFromTri(e_tri t) { switch (t) { case e_tri.TRI_NOM: return("sort_nom.png"); case e_tri.TRI_PRIX: return("sort_prix.png"); case e_tri.TRI_FAV: return("sort_fav.png"); } return("sort_none.png"); }
private string GetImageButtonNameFiltreFromTri(e_tri tri) { switch (tri) { case e_tri.TRI_NOM: return("sort_nom.png"); case e_tri.TRI_PRIX: return("sort_prix.png"); case e_tri.TRI_FAV: return("sort_fav.png"); } return("sort_none.png"); }
public List <Pizza> GetPizzasFromTri(e_tri t, List <Pizza> l) { if (l == null) { return(null); } //copie de la liste de toutes les pizzas List <Pizza> copy = new List <Pizza>(l); switch (tri) { case e_tri.TRI_AUCUN: return(l); break; case e_tri.TRI_NOM: copy.Sort((emp1, emp2) => emp1.Titre.CompareTo(emp2.Titre)); break; case e_tri.TRI_PRIX: copy.Sort((emp1, emp2) => emp2.prix.CompareTo(emp1.prix)); break; case e_tri.TRI_FAV: foreach (Pizza p in l) { if (!pizzasFav.Contains(p.nom)) { copy.Remove(p); } } copy.Sort((emp1, emp2) => emp1.Titre.CompareTo(emp2.Titre)); break; default: return(l); break; } return(copy); }
private List <Pizza> GetPizzasFromTri(e_tri t, List <Pizza> l) { switch (t) { case e_tri.TRI_NOM: case e_tri.TRI_FAV: { List <Pizza> ret = new List <Pizza>(l); ret.Sort((p1, p2) => { return(p1.Titre.CompareTo(p2.Titre)); }); return(ret); } case e_tri.TRI_PRIX: { List <Pizza> ret = new List <Pizza>(l); ret.Sort((p1, p2) => { return(p2.prix.CompareTo(p1.prix)); }); return(ret); } } return(l); }
public MainPage() { InitializeComponent(); /* * pizzasFav.Add("4 fromages"); * pizzasFav.Add("indienne"); * pizzasFav.Add("tartiflette"); */ tempFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "temp.json"); jsonFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "pizzas.json"); favFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "fav.json"); tri = e_tri.TRI_AUCUN; listView.IsVisible = false; waitLayout.IsVisible = true; if (File.Exists(jsonFile)) { string pizzasJson = File.ReadAllText(jsonFile); if (!String.IsNullOrEmpty(pizzasJson)) { pizzas = JsonConvert.DeserializeObject <List <Pizza> >(pizzasJson); listView.ItemsSource = GetPizzaCells(GetPizzasFromTri(tri, pizzas), pizzasFav); listView.IsVisible = true; waitLayout.IsVisible = false; } } if (Application.Current.Properties.ContainsKey(KEY_TRI)) { tri = (e_tri)Application.Current.Properties[KEY_TRI]; sortImage.Source = GetImageSourceFromTri(tri); } LoadFavList(); listView.RefreshCommand = new Command((obj) => { DownloadData((pizzas) => { if (pizzas != null) { listView.ItemsSource = GetPizzaCells(GetPizzasFromTri(tri, pizzas), pizzasFav); } listView.IsRefreshing = false; }); }); //mettre ma fonction ici DownloadData((pizzas) => { listView.IsVisible = true; waitLayout.IsVisible = false; if (pizzas != null) { listView.ItemsSource = GetPizzaCells(GetPizzasFromTri(tri, pizzas), pizzasFav); } }); }
public MainPage() { InitializeComponent(); //pizzasFav.Add("4 fromages"); //pizzasFav.Add("indienne"); //pizzasFav.Add("tartiflette"); LoadFavLIst(); if (Application.Current.Properties.ContainsKey(KEY_TRI)) { filtre = (e_tri)Application.Current.Properties[KEY_TRI]; imageButtonFiltre.Source = GetImageButtonNameFiltreFromTri(filtre); } filtre = e_tri.TRI_AUCUN; //string pizzasJson = "[\n\t{ \"nom\": \"4 fromages\", \"ingredients\": [ \"cantal\", \"mozzarella\", \"fromage de chèvre\", \"gruyère\" ], \"prix\": 11, \"imageUrl\": \"https://www.galbani.fr/wp-content/uploads/2017/07/pizza_filant_montage_2_3.jpg\"},\n\t{ \"nom\": \"tartiflette\", \"ingredients\": [ \"pomme de terre\", \"oignons\", \"crème fraiche\", \"lardons\", \"mozzarella\" ], \"prix\": 14, \"imageUrl\": \"https://cdn.pizzamatch.com/1/35/1375105305-pizza-napolitain-630.JPG?1375105310\"},\n\t{ \"nom\": \"margherita\", \"ingredients\": [ \"sauce tomate\", \"mozzarella\", \"basilic\" ], \"prix\": 7, \"imageUrl\": \"https://www.misteriosocultos.com/wp-content/uploads/2018/12/pizza.jpg\"},\n\t{ \"nom\": \"indienne\", \"ingredients\": [ \"curry\", \"mozzarella\", \"poulet\", \"poivron\", \"oignon\", \"coriandre\" ], \"prix\": 10, \"imageUrl\": \"https://assets.afcdn.com/recipe/20160519/15342_w1024h768c1cx3504cy2338.jpg\"},\n\t{ \"nom\": \"mexicaine\", \"ingredients\": [ \"boeuf\", \"mozzarella\", \"maïs\", \"tomates\", \"oignon\", \"coriandre\" ], \"prix\": 13, \"imageUrl\": \"https://fac.img.pmdstatic.net/fit/http.3A.2F.2Fprd2-bone-image.2Es3-website-eu-west-1.2Eamazonaws.2Ecom.2FFAC.2Fvar.2Ffemmeactuelle.2Fstorage.2Fimages.2Fminceur.2Fastuces-minceur.2Fminceur-choix-pizzeria-47943.2F14883894-1-fre-FR.2Fminceur-comment-faire-les-bons-choix-a-la-pizzeria.2Ejpg/750x562/quality/80/crop-from/center/minceur-comment-faire-les-bons-choix-a-la-pizzeria.jpeg\"},\n\t{ \"nom\": \"chèvre et miel\", \"ingredients\": [ \"miel\", \"mozzarella\", \"fromage de chèvre\", \"roquette\"], \"prix\": 10, \"imageUrl\": \"http://gfx.viberadio.sn/var/ezflow_site/storage/images/news/conso-societe/les-4-aliments-a-eviter-de-consommer-le-soir-00018042/155338-1-fre-FR/Les-4-aliments-a-eviter-de-consommer-le-soir.jpg\"},\n\t{ \"nom\": \"napolitaine\", \"ingredients\": [ \"sauce tomate\", \"mozzarella\", \"anchois\", \"câpres\"], \"prix\": 9, \"imageUrl\": \"https://www.fourchette-et-bikini.fr/sites/default/files/pizza_tomate_mozzarella.jpg\"},\n\t{ \"nom\": \"kebab\", \"ingredients\": [ \"poulet\", \"oignons\", \"sauce tomate\", \"sauce kebab\", \"mozzarella\"], \"prix\": 11, \"imageUrl\": \"https://res.cloudinary.com/serdy-m-dia-inc/image/upload/f_auto/fl_lossy/q_auto:eco/x_0,y_0,w_3839,h_2159,c_crop/w_576,h_324,c_scale/v1525204543/foodlavie/prod/recettes/pizza-au-chorizo-et-fromage-cheddar-en-grains-2421eadb\"},\n\t{ \"nom\": \"louisiane\", \"ingredients\": [ \"poulet\", \"champignons\", \"poivrons\", \"oignons\", \"sauce tomate\", \"mozzarella\"], \"prix\": 12, \"imageUrl\": \"http://www.fraichementpresse.ca/image/policy:1.3167780:1503508221/Pizza-dejeuner-maison-basilic-et-oeufs.jpg?w=700&$p$w=13b13d9\"},\n\t{ \"nom\": \"orientale\", \"ingredients\": [ \"merguez\", \"champignons\", \"sauce tomate\", \"mozzarella\"], \"prix\": 11, \"imageUrl\": \"https://www.atelierdeschefs.com/media/recette-e30299-pizza-pepperoni-tomate-mozza.jpg\"},\n\t{ \"nom\": \"hawaïenne\", \"ingredients\": [ \"jambon\", \"ananas\", \"sauce tomate\", \"mozzarella\"], \"prix\": 12, \"imageUrl\": \"https://www.atelierdeschefs.com/media/recette-e16312-pizza-quatre-saisons.jpg\"},\n\t{ \"nom\": \"reine\", \"ingredients\": [ \"jambon\", \"champignons\", \"sauce tomate\", \"mozzarella\"], \"prix\": 8, \"imageUrl\": \"https://static.cuisineaz.com/400x320/i96018-pizza-reine.jpg\"}\n]"; Console.WriteLine("ETAPE 1"); //Pour le pull to refresh - activé lors du pull listeViewPizzas.RefreshCommand = new Command((obj) => { Console.WriteLine("PULLED"); DownloadData((pizzas) => { if (pizzas != null) { listeViewPizzas.ItemsSource = GetPizzaCells(GetPizzasFromTri(filtre, pizzas), pizzasFav); } listeViewPizzas.IsRefreshing = false; }); }); activityIndicator.IsVisible = true; listeViewPizzas.IsVisible = false; //verifier si le fichier existe if (File.Exists(jsonFileName)) { string pizzasjson = File.ReadAllText(jsonFileName); //Verfier si le fichier n'est pas vide if (!string.IsNullOrEmpty(pizzasjson)) { pizzas = JsonConvert.DeserializeObject <List <Pizza> >(pizzasjson); listeViewPizzas.ItemsSource = GetPizzaCells(GetPizzasFromTri(filtre, pizzas), pizzasFav); listeViewPizzas.IsVisible = true; activityIndicator.IsVisible = false; } } //Récuperation d'abord de la liste de pizzas puis execution du code ci-dessous DownloadData((pizzas) => { if (pizzas != null) { listeViewPizzas.ItemsSource = GetPizzaCells(GetPizzasFromTri(filtre, pizzas), pizzasFav); } activityIndicator.IsVisible = false; listeViewPizzas.IsVisible = true; }); Console.WriteLine("ETAPE 4"); //Pizzas.Add(new Pizza { Nom = "végétarienne", Prix = 7, Ingredients = new String[] { "Tomate", "Poivron", "Oignons" },ImageURL = "https://www.galbani.fr/wp-content/uploads/2017/07/pizza_parma.png" }); //Pizzas.Add(new Pizza { Nom = "montagnarde", Prix = 15, Ingredients = new String[] { "Pomme de terre", "Poivron", "Oignons", "Bleu d'auvergne" }, ImageURL = "https://img.over-blog-kiwi.com/1/47/72/31/20150611/ob_aab11d_pizza-au-bleu-d-auvergne.jpg" }); //Pizzas.Add(new Pizza { Nom = "carnivore", Prix = 11, Ingredients = new String[] { "Boeuf", "Poivron", "Oignons" }, ImageURL = "https://www.pizza-mario-narbonne.fr/images_pmn/carte/pizza-narbonne-carnivore-41.jpg" }); //Pizzas.Add(new Pizza { Nom = "pécheur", Prix = 12, Ingredients = new String[] { "Crevettes", "Noix de saint Jacques", "Oignons" } , ImageURL = "https://www.eismann.fr/content/images/thumbs/0011263_pizza-du-pecheur_550.jpeg" }); }