Example #1
0
        public ActionResult Edit(int id, PizzaCreateEditVM vm)
        {
            {
                try
                {
                    if (ModelState.IsValid)
                    {
                        Pizza modifiedPizza = FakeDBPizza.Instance.ListePizzas.FirstOrDefault(p => p.Id == vm.Pizza.Id);

                        // nom
                        modifiedPizza.Nom = vm.Pizza.Nom;

                        //pate
                        Pate pate = FakeDBPizza.Instance.ListePates.FirstOrDefault(p => p.Id == vm.IdPate);
                        modifiedPizza.Pate = pate;

                        //ingrédients
                        modifiedPizza.Ingredients = FakeDBPizza.Instance.ListeIngredients
                                                    .Where(i => vm.IdIngredients.Contains(i.Id)).ToList();

                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        getPatesIngredients(vm);
                        return(View(vm));
                    }
                }
                catch
                {
                    getPatesIngredients(vm);
                    return(View(vm));
                }
            }
        }
Example #2
0
        public ActionResult Edit(PizzaCreateVM pizzaVM)
        {
            try
            {
                Pizza pizza = Pizzas.FirstOrDefault(p => p.Id == pizzaVM.Pizza.Id);

                pizzaVM.Ingredients.Clear();

                foreach (int id in pizzaVM.IdSelectedIngredient)
                {
                    pizzaVM.Pizza.Ingredients.Add(Ingredients.FirstOrDefault(i => i.Id == id));
                }

                Pate pate = Pates.FirstOrDefault(p => p.Id == pizzaVM.IdSelectedPate);
                pizzaVM.Pizza.Pate = pate;

                int index = Pizzas.FindLastIndex(p => p == pizza);
                Pizzas[index] = pizzaVM.Pizza;

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
Example #3
0
        public ActionResult Create(Pizza pizza, int pate, List <int> ingredients)
        {
            try
            {
                if (pizza != null)
                {
                    Pate patePizza = Pates.FirstOrDefault(p => p.Id == pate);

                    List <Ingredient> ingredientsPizza = new List <Ingredient>();
                    foreach (var ingr in ingredients)
                    {
                        ingredientsPizza.Add(Ingredients.FirstOrDefault(i => i.Id == ingr));
                    }

                    pizza.Id          = Pizzas.Count();
                    pizza.Pate        = patePizza;
                    pizza.Ingredients = ingredientsPizza;

                    Pizzas.Add(pizza);
                }

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
Example #4
0
        public ActionResult Edit(int id, Pizza pizza, int pate, List <int> ingredients)
        {
            try
            {
                Pate patePizza = Pates.FirstOrDefault(p => p.Id == pate);

                List <Ingredient> ingredientsPizza = new List <Ingredient>();
                foreach (var ingr in ingredients)
                {
                    ingredientsPizza.Add(Ingredients.FirstOrDefault(i => i.Id == ingr));
                }


                var maPizza = Pizzas.FirstOrDefault(p => p.Id == id);

                maPizza.Nom         = pizza.Nom;
                maPizza.Pate        = patePizza;
                maPizza.Ingredients = ingredientsPizza;

                Pizzas.Remove(Pizzas.FirstOrDefault(p => p.Id == maPizza.Id));
                Pizzas.Add(maPizza);

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
Example #5
0
        public ActionResult DeleteConfirmed(int id)
        {
            Pate pate = db.Pates.Find(id);

            db.Pates.Remove(pate);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Example #6
0
 public ActionResult Edit([Bind(Include = "Id,Nom")] Pate pate)
 {
     if (ModelState.IsValid)
     {
         db.Entry(pate).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(pate));
 }
Example #7
0
        public ActionResult Create([Bind(Include = "Id,Nom")] Pate pate)
        {
            if (ModelState.IsValid)
            {
                db.Pates.Add(pate);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(pate));
        }
Example #8
0
        // GET: Pates/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Pate pate = db.Pates.Find(id);

            if (pate == null)
            {
                return(HttpNotFound());
            }
            return(View(pate));
        }
Example #9
0
        static void Main(string[] args)
        {
            Console.WriteLine("M02 D04 - Les Génériques");
            Fourmi fourmi = new Fourmi();
            Fruit  fruit  = new Fruit {
                DateCueillette = DateTime.Now.AddDays(-5)
            };

            Zoo.NourrirAnimal(fourmi, fruit);

            Chat chat = new Chat();
            Pate pate = new Pate {
                DatePeremption = DateTime.Now.AddYears(1)
            };

            Zoo.NourrirAnimal(chat, pate);

            //Console.ReadKey();
        }
        public ActionResult Edit(PizzaCreateEditVM pvm)
        {
            try
            {
                if (ModelState.IsValid && listIngredientsIsDifferent(pvm))
                {
                    Pizza pizzaToEdit = FakeDbPizza.Instance.ListPizza.FirstOrDefault(p => p.Id == pvm.Pizza.Id);

                    pizzaToEdit.Nom = pvm.Pizza.Nom;

                    Pate pate = FakeDbPizza.Instance.PatesAvailable.FirstOrDefault(p => p.Id == pvm.idSelectedPate);
                    pizzaToEdit.Pate = pate;

                    pizzaToEdit.Ingredients = FakeDbPizza.Instance.IngredientsAvailable.Where(i => pvm.idSelectedIngredients.Contains(i.Id)).ToList();

                    return(RedirectToAction("Index"));
                }
                else
                {
                    pvm.Pate = FakeDbPizza.Instance.PatesAvailable.Select(p => new SelectListItem {
                        Text = p.Nom, Value = p.Id.ToString()
                    });
                    pvm.Ingredients = FakeDbPizza.Instance.IngredientsAvailable.Select(i => new SelectListItem {
                        Text = i.Nom, Value = i.Id.ToString()
                    });

                    return(View(pvm));
                }
            }
            catch
            {
                pvm.Pate = FakeDbPizza.Instance.PatesAvailable.Select(p => new SelectListItem {
                    Text = p.Nom, Value = p.Id.ToString()
                });
                pvm.Ingredients = FakeDbPizza.Instance.IngredientsAvailable.Select(i => new SelectListItem {
                    Text = i.Nom, Value = i.Id.ToString()
                });

                return(View(pvm));
            }
        }
Example #11
0
        public ActionResult Create(PizzaCreateVM pizzaVM)
        {
            try
            {
                foreach (int id in pizzaVM.IdSelectedIngredient)
                {
                    pizzaVM.Pizza.Ingredients.Add(Ingredients.FirstOrDefault(i => i.Id == id));
                }

                Pate pate = Pates.FirstOrDefault(p => p.Id == pizzaVM.IdSelectedPate);
                pizzaVM.Pizza.Pate = pate;

                Pizzas.Add(pizzaVM.Pizza);

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
        public static void Main(string[] args)
        {
            Fourmi fourmi1 = new Fourmi();
            Fruit  fruit1  = new Fruit()
            {
                DateCueilette = DateTime.Now.AddDays(-5)
            };

            Console.WriteLine($"La fourmi mange un fruit {Zoo.NourrirAnimal(fourmi1, fruit1)}");

            Fruit fruit2 = new Fruit()
            {
                DateCueilette = DateTime.Now.AddDays(-12)
            };

            Console.WriteLine($"La fourmi mange un fruit {Zoo.NourrirAnimal(fourmi1, fruit2)}");

            Pate pate1 = new Pate()
            {
                DatePeremption = DateTime.Now.AddDays(1)
            };
            Pate pate2 = new Pate()
            {
                DatePeremption = DateTime.Now.AddDays(-1)
            };

            //Console.WriteLine($"La fourmi mange un fruit {Zoo.NourrirAnimal(fourmi1, pate1)}");

            Chat chat1 = new Chat();

            Console.WriteLine($"Le chat mange de la paté {Zoo.NourrirAnimal(chat1, pate1)}");
            Console.WriteLine($"Le chat mange de la paté {Zoo.NourrirAnimal(chat1, pate2)}");

            GenericTest <Chat> .ListElements();

            Console.ReadLine();
        }
 public void setPizzaPate(Pate pate)
 {
     this.Pizza.Pate = pate;
 }
        public ActionResult Create(CompositionPizzaVM compositionPizzaVM)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    if (FakeDbPizza.Instance.Pizzas.Any(p => p.Nom.ToUpper() == compositionPizzaVM.Pizza.Nom.ToUpper()))
                    {
                        ModelState.AddModelError("", $"La Pizza {compositionPizzaVM.Pizza.Nom} existe déjà.");
                        return(View(compositionPizzaVM));
                    }

                    if (compositionPizzaVM.IdsIngredients.Count < 2 || compositionPizzaVM.IdsIngredients.Count > 5)
                    {
                        ModelState.AddModelError("", $"La Pizza doit contenir entre 2 et 5 ingrédients.");
                        return(View(compositionPizzaVM));
                    }

                    //Comparaison des ingrédients

                    //On sélectionne les pizzas de la bdd ayant le même nombre d'ingrédients
                    var  pizzasAvecxIngredients = FakeDbPizza.Instance.Pizzas.Where(p => p.Ingredients.Count() == compositionPizzaVM.IdsIngredients.Count());
                    bool pizzaExiste            = false;
                    //Pour chacune de ces pizzas on regarde si tous les ingrédients correspondent
                    foreach (var p in pizzasAvecxIngredients)
                    {
                        var listIdIngredients = p.Ingredients.Select(x => x.Id);
                        if (compositionPizzaVM.IdsIngredients.All(x => listIdIngredients.Contains(x)))
                        {
                            pizzaExiste = true;
                        }
                    }

                    if (pizzaExiste)
                    {
                        ModelState.AddModelError("", "Une pizza contenant exactement les mêmes ingrédients existe déjà");
                        return(View(compositionPizzaVM));
                    }

                    Pizza             pizza       = compositionPizzaVM.Pizza;
                    Pate              pate        = FakeDbPizza.Instance.Pates.FirstOrDefault(p => p.Id == compositionPizzaVM.IdPate);
                    List <Ingredient> ingredients = FakeDbPizza.Instance.Ingredients.Where(
                        x => compositionPizzaVM.IdsIngredients.Contains(x.Id)).ToList();

                    pizza.Pate        = pate;
                    pizza.Ingredients = ingredients;
                    if (FakeDbPizza.Instance.Pizzas.Count == 0)
                    {
                        //pizza.Id = FakeDbPizza.Instance.Pizzas.Count + 1
                        pizza.Id = 1;
                    }
                    else
                    {
                        pizza.Id = FakeDbPizza.Instance.Pizzas.Max(X => X.Id) + 1;
                    }

                    //Ajout de la pizza
                    FakeDbPizza.Instance.Pizzas.Add(pizza);

                    return(RedirectToAction("Index"));
                }
                return(View(compositionPizzaVM));
            }
            catch
            {
                return(View());
            }
        }