Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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();
        }
Esempio n. 4
0
        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();
        }
Esempio n. 5
0
        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();
        }
Esempio n. 6
0
        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;
            });
        }
Esempio n. 7
0
        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");
        }
Esempio n. 8
0
        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");
        }
Esempio n. 9
0
        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);
        }
Esempio n. 10
0
        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);
        }
Esempio n. 11
0
        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);
                }
            });
        }
Esempio n. 12
0
        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" });
        }