예제 #1
0
        public JsonResult AddProduit(int p, string s)
        {
            string             IdSession          = Cryptage.Decrypt(s);
            SessionUtilisateur sessionUtilisateur = daoUtilisateur.GetSessionUtilisateur(IdSession);
            Panier             panier             = GetPanier(sessionUtilisateur.IdSession);
            bool isReturnOk = false;

            if (sessionUtilisateur != null && panier != null && p > 0)
            {
                ProduitPanier produitPanier = FindProduit(p);

                if (produitPanier != null)
                {
                    if (panier.IdRestaurant == 0)
                    {
                        panier.IdRestaurant = produitPanier.IdRestaurant;
                        panier.AddItem(produitPanier);
                        isReturnOk = true;
                    }

                    else if (panier.IdRestaurant == produitPanier.IdRestaurant)
                    {
                        panier.AddItem(produitPanier);
                        isReturnOk = true;
                    }
                }
                HttpContext.Application[sessionUtilisateur.IdSession] = panier;
            }

            string jsonPanier = Newtonsoft.Json.JsonConvert.SerializeObject(panier);

            return(Json(new { isReturnOk, qte = panier.Quantite, total = panier.Total, monpanier = jsonPanier }, JsonRequestBehavior.AllowGet));
        }
예제 #2
0
        public JsonResult AddProduit(int IdProduit, string idsession)
        {
            SessionUtilisateur sessionUtilisateur = db.SessionUtilisateurs.Find(Session.SessionID);
            Panier             panier             = GetPanier(idsession);
            bool isReturnOk = false;

            if (sessionUtilisateur != null && panier != null && IdProduit > 0)
            {
                ProduitPanier produitPanier = FindProduit(IdProduit);

                if (produitPanier != null)
                {
                    if (panier.IdRestaurant == 0)
                    {
                        panier.IdRestaurant = produitPanier.IdRestaurant;
                        panier.AddItem(produitPanier);
                        isReturnOk = true;
                    }

                    else if (panier.IdRestaurant == produitPanier.IdRestaurant)
                    {
                        panier.AddItem(produitPanier);
                        isReturnOk = true;
                    }
                }

                HttpContext.Application[idsession] = panier;
            }

            return(Json(new { isReturnOk, qte = panier.Quantite, total = panier.Total }, JsonRequestBehavior.AllowGet));
        }
예제 #3
0
        public void GetPrixTotal_returns_sum_of_article_price_when_no_discount_for_panier()
        {
            var sut = new Panier();

            sut.AddItem(new Article {
                PrixUnitaire = 10, Nombre = 5
            });
            sut.AddItem(new Article {
                PrixUnitaire = 3, Nombre = 2
            });
            sut.AddItem(new Article {
                PrixUnitaire = 5, Nombre = 1
            });
            Assert.Equal(50 + 6 + 5, sut.GetPrixTotal());
        }
예제 #4
0
        public void GetPrixTotal_apply_10_percent_discount_on_1_article_in_panier()
        {
            var sut       = new Panier();
            var promotion = new Get_10_Percent_Discount();

            sut.AddItem(new Article(promotion)
            {
                PrixUnitaire = 10, Nombre = 5
            });
            sut.AddItem(new Article {
                PrixUnitaire = 3, Nombre = 2
            });
            sut.AddItem(new Article {
                PrixUnitaire = 5, Nombre = 1
            });
            Assert.Equal(45 + 6 + 5, sut.GetPrixTotal());
        }
예제 #5
0
        public void GetPrixTotal_apply_10_percent_discount_when_total_great_than_1000()
        {
            var sut = new Panier();

            sut.ApplyDiscount(new Get_10_Percent_Discount_When_Total_Price_Great_Than_1000());
            sut.AddItem(new Article {
                PrixUnitaire = 100, Nombre = 11
            });
            Assert.Equal(1100 - (1100 * 10m / 100), sut.GetPrixTotal());
        }
예제 #6
0
        // GET: Sw

        public JsonResult AddMenu(int IdMenu, List <int> IdProduits, string s)
        {
            string             IdSession          = Cryptage.Decrypt(s);
            SessionUtilisateur sessionUtilisateur = daoUtilisateur.GetSessionUtilisateur(IdSession);
            Panier             panier             = GetPanier(sessionUtilisateur.IdSession);
            bool isReturnOk = false;

            if (sessionUtilisateur != null && panier != null && IdMenu > 0 && IdProduits.Count > 0)
            {
                Menu menu = daoMenu.GetMenuById(IdMenu);

                if (menu != null)
                {
                    MenuPanier menuPanier = new MenuPanier();
                    menuPanier.IdMenu   = IdMenu;
                    menuPanier.Prix     = menu.Prix;
                    menuPanier.Nom      = menu.Nom;
                    menuPanier.Quantite = 1;

                    foreach (int IdProduit in IdProduits)
                    {
                        ProduitPanier produitPanier = FindProduit(IdProduit);

                        if (produitPanier != null)
                        {
                            panier.IdRestaurant = produitPanier.IdRestaurant;
                            menuPanier.produits.Add(produitPanier);
                        }
                    }

                    panier.AddItem(menuPanier);
                    isReturnOk = true;
                }

                HttpContext.Application[sessionUtilisateur.IdSession] = panier;
            }
            string jsonPanier = Newtonsoft.Json.JsonConvert.SerializeObject(panier);

            return(Json(new { isReturnOk, qte = panier.Quantite, total = panier.Total, monpanier = jsonPanier }, JsonRequestBehavior.AllowGet));
        }