예제 #1
0
        public ActionResult Payer(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction("Index", "Home"));
            }

            Utilisateur utilisateur = (Utilisateur)Session["Utilisateur"];

            Panier panier = db.Paniers.Where(p => p.Utilisateur.Id == utilisateur.Id).FirstOrDefault();

            Commande commande = db.Commandes.Where(c => c.Id == id).SingleOrDefault();

            commande.EstValide = true;

            db.Commandes.AddOrUpdate(commande);
            db.SaveChanges();

            if (panier != null)
            {
                db.Paniers.Remove(panier);
                db.SaveChanges();
                Session.Remove("Panier");
            }

            return(RedirectToAction("Success", "Commandes"));
        }
        public async Task <IHttpActionResult> Post([FromBody] Panier item)
        {
            db.Paniers.Add(item);
            await db.SaveChangesAsync();

            return(Ok());
        }
예제 #3
0
 public LigneCommandController()
 {
     ligneCommandService = new LigneCommandService();
     panierService       = new PanierService();
     serviceProduit      = new ProductService();
     panier = PanierController.Instance();
 }
예제 #4
0
        public JsonResult RemoveProduit(int IdProduit, string idsession)
        {
            SessionUtilisateur sessionUtilisateur = db.SessionUtilisateurs.Find(Session.SessionID);

            Panier panier = (Panier)HttpContext.Application[idsession];

            ProduitPanier produitPanier = new ProduitPanier();

            int quantite = 0;

            var prod = panier.Find(p => p.GetIdProduit() == IdProduit);

            if (prod != null && panier.Count > 1)
            {
                prod.Quantite--;
                quantite -= prod.Quantite;
            }
            else if (prod != null && panier.Count > 0)
            {
                panier.Remove(produitPanier);
                quantite -= produitPanier.Quantite;
            }

            HttpContext.Application[idsession] = panier;

            return(Json(quantite, JsonRequestBehavior.AllowGet));
        }
예제 #5
0
        public IActionResult AddProduit(int id)
        {
            Panier panier = HttpContext.Session.GetString("panier") != null?JsonConvert.DeserializeObject <Panier>(HttpContext.Session.GetString("panier")) : new Panier();

            Produit p = DataBaseContext.Instance.Produits.FirstOrDefault(x => x.Id == id);

            if (p != null)
            {
                ProduitPanier pPanier = panier.produits.FirstOrDefault(x => x.ProduitId == p.Id);
                if (pPanier != null)
                {
                    pPanier.Qty++;
                }
                else
                {
                    pPanier = new ProduitPanier {
                        ProduitId = p.Id, produit = p, Qty = 1
                    };
                    panier.produits.Add(pPanier);
                }
            }

            HttpContext.Session.SetString("panier", JsonConvert.SerializeObject(panier));
            return(RedirectToAction("Index"));
        }
예제 #6
0
        public JsonResult SaveCommande(string s)
        {
            try
            {
                //decrypage de la SessionID et recherche dans la bdd
                string             IdSession          = Cryptage.Decrypt(s);
                SessionUtilisateur sessionUtilisateur = daoUtilisateur.GetSessionUtilisateur(IdSession);
                Panier             panier             = null;

                if (sessionUtilisateur != null && HttpContext.Application[sessionUtilisateur.IdSession] != null)
                {
                    panier = (Panier)HttpContext.Application[sessionUtilisateur.IdSession];
                }

                Utilisateur utilisateur = daoUtilisateur.GetUtilisateurBySessionId(sessionUtilisateur.IdSession);

                if (utilisateur != null && utilisateur.Solde > 0 && panier != null && panier.Count > 0)
                {
                    if (daoCommande.SaveCommande(panier, utilisateur))
                    {
                        HttpContext.Application.Remove(utilisateur.IdSession);
                    }
                }
                return(Json(new { idutilisateur = utilisateur.IdUtilisateur }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                string er = ex.Message;
            }
            return(Json(JsonRequestBehavior.AllowGet));
        }
예제 #7
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));
        }
예제 #8
0
        // GET: Paniers/Create
        public async Task <IActionResult> AddPanier(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var panier = await _context.Book.FindAsync(id);

            Panier panier1 = new Panier(panier.Author, panier.Title, panier.Adress, panier.ReleaseDate, panier.Genre, panier.Price);

            if (panier1 == null)
            {
                return(NotFound());
            }
            if (ModelState.IsValid)
            {
                if (PanierTitleExists(panier.Title))
                {
                    return(RedirectToAction(nameof(Index)));
                }
                _context.Add(panier1);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(RedirectToAction(nameof(Index)));
        }
예제 #9
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));
        }
        public ActionResult Subquantite(int ID)
        {
            Article article = db.Articles.FirstOrDefault(c => c.ArticleID == ID);
            Panier  panier  = (Panier)Session["cart"];

            if (panier.Articlequantites.FirstOrDefault(x => x.Article.ArticleID == article.ArticleID).quantite > 1)
            {
                panier.Articlequantites.FirstOrDefault(x => x.Article.ArticleID == article.ArticleID).quantite--;
            }
            else
            {
                panier.Articlequantites.Remove(panier.Articlequantites.FirstOrDefault(x => x.Article.ArticleID == article.ArticleID));
            }
            ViewBag.cart = panier.Articlequantites.Count();
            decimal totale = 0;

            foreach (var a in panier.Articlequantites)
            {
                totale += a.Article.price * a.quantite;
            }
            ViewBag.totale   = totale;
            Session["count"] = ViewBag.cart;
            Session["count"] = Convert.ToInt32(Session["count"]) - 1;
            return(RedirectToAction("Myorder", "AddToCart"));
        }
        public PartialViewResult Commander()
        {
            try {
                dal = new Dal();
                if (HttpContext.User.Identity.IsAuthenticated)
                {
                    Client client = dal.ObtenirUtilisateur(HttpContext.User.Identity.Name);


                    Panier panier = (Panier)Session["cart"];
                    db.Paniers.Add(panier);
                    db.SaveChanges();
                    Commande cmd = new Commande
                    {
                        dateCommande = DateTime.Now,
                        etat         = "Non validé",
                        PanierID     = panier.PanierID,
                        Panier       = panier,
                        Client       = client,
                        ClientID     = client.ClientID
                    };
                    db.Commandes.Add(cmd);
                    db.SaveChanges();
                    Session["cart"] = null;
                }
                ViewBag.result = "success commande";
                return(PartialView("Myorder", null));
            }
            catch (Exception ex)
            {
                ViewBag.result = "faillure commande";
                return(PartialView("Myorder", null));
            }
        }
        public ActionResult Add(int Id)
        {
            Article article = db.Articles.FirstOrDefault(c => c.ArticleID == Id);

            if (Session["cart"] == null)
            {
                var panier = new Panier();

                panier.Articlequantites.Add(new Articlequantite(article, 1));


                Session["cart"] = panier;
                ViewBag.cart    = panier.Articlequantites.Count();


                Session["count"] = ViewBag.cart;
            }
            else
            {
                Panier panier = (Panier)Session["cart"];
                if (panier.Articlequantites.FirstOrDefault(x => x.Article.ArticleID == article.ArticleID) != null)
                {
                    panier.Articlequantites.FirstOrDefault(x => x.Article.ArticleID == article.ArticleID).quantite++;
                }
                else
                {
                    panier.Articlequantites.Add(new Articlequantite(article, 1));
                }
                ViewBag.cart = panier.Articlequantites.Count();


                Session["count"] = ViewBag.cart;
            }
            return(RedirectToAction("/", "Articles"));
        }
        public IActionResult AjoutPanier(int id)
        {
            var leproduct = _context.Product.FirstOrDefault(p => p.Id == id);

            if (leproduct == null)
            {
                return(new BadRequestResult());
            }
            Panier panier = HttpContext.Session.Get <Panier>(SessionPanier);

            if (panier == null)
            {
                panier = new Panier();
            }

            panier.Add(new Panier.Ligne()
            {
                IdProduit = leproduct.Id, NomProduit = leproduct.Name,
                Prix      = leproduct.Price,
                Quantite  = 1
            });

            HttpContext.Session.Set <Panier>(SessionPanier, panier);


            return(new JsonResult(panier));
        }
예제 #14
0
        public IActionResult AddCompte([FromBody] CompteModel model)
        {
            try
            {
                Client client = _context.Clients.Where(c => c.UtilisateurId.Equals(model.ClientId)).FirstOrDefault();

                Compte compteATrouver = _context.Comptes.Where(c => (
                                                                   c.ClientId.Equals(client.UtilisateurId) &&
                                                                   c.NomCompte.Equals(model.NomCompte)
                                                                   )).FirstOrDefault();

                if (compteATrouver == null)
                {
                    Compte newCompte = new Compte()
                    {
                        ClientId = client.UtilisateurId, DateCreation = System.DateTime.Now, NomCompte = model.NomCompte
                    };
                    Panier newPanier = new Panier()
                    {
                        Compte = newCompte
                    };


                    _context.Comptes.Add(newCompte);
                    _context.Paniers.Add(newPanier);
                    _context.SaveChanges();

                    return(Ok());
                }
            }
            catch (Exception) { }

            return(BadRequest());
        }
예제 #15
0
        public ActionResult addAuPanier(int idl, string sender)
        {
            Livre livre = ConnexionBD.getLivreById(idl);

            if (Session["panier"] == null)
            {
                Session["panier"] = new Panier();
            }

            Panier panier = (Panier)Session["panier"];



            if (sender.Equals("pan"))
            {
                panier.sousLivre(livre);
                Session["panier"] = panier;
                return(RedirectToAction("vuePanier"));
            }

            else if (sender.Equals("det"))
            {
                panier.addLivre(livre);
                Session["panier"] = panier;
                return(RedirectToAction("Accueil"));
            }

            return(null);
        }
예제 #16
0
        private List <Panier> GetPaniersClient(long NoClient)
        {
            var query = from articles in context.PPArticlesEnPaniers
                        where articles.NoClient == NoClient
                        orderby articles.DateCreation
                        group articles by articles.NoVendeur
                        into g
                        select g;

            var paniers = query.ToList();

            var lstPaniers = new List <Panier>();

            foreach (var pan in paniers)
            {
                var panier = new Panier
                {
                    Client       = pan.FirstOrDefault().PPClient,
                    Vendeur      = pan.FirstOrDefault().PPVendeur,
                    DateCreation = (DateTime)pan.FirstOrDefault().DateCreation,
                    Articles     = pan.ToList()
                };
                lstPaniers.Add(panier);
            }

            return(lstPaniers);
        }
예제 #17
0
        public ActionResult SupprimerArticle(int NoProduit, int NoVendeur)
        {
            var articleSuprimer = (from articles in context.PPArticlesEnPaniers
                                   where articles.NoClient == NOCLIENT &&
                                   articles.NoVendeur == NoVendeur &&
                                   articles.PPProduit.NoProduit == NoProduit
                                   select articles).FirstOrDefault();

            context.PPArticlesEnPaniers.DeleteOnSubmit(articleSuprimer);
            context.SubmitChanges();

            var query = from articles in context.PPArticlesEnPaniers
                        where articles.NoClient == NOCLIENT &&
                        articles.NoVendeur == NoVendeur
                        orderby articles.DateCreation
                        select articles;

            var panier = new Panier
            {
                Vendeur  = query.FirstOrDefault().PPVendeur,
                Client   = query.FirstOrDefault().PPClient,
                Articles = query.ToList()
            };

            return(PartialView("Client/Panier/_DetailPanier", panier));
        }
        public ActionResult InfoPanier(int id)
        {
            List <Panier> paniers = GetPaniersVendeurs(NoVendeur);
            Panier        panier  = paniers.Single(p => p.Client.NoClient == id);

            return(PartialView("Vendeur/ModalInfoPanier", panier));
        }
예제 #19
0
        public async Task <IHttpActionResult> PutPanier(int id, Panier panier)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != panier.Id)
            {
                return(BadRequest());
            }

            db.Entry(panier).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!PanierExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
예제 #20
0
        public async Task <IActionResult> Edit(int id, [Bind("ID,RegisterViewModelID,ProduitID")] Panier panier)
        {
            if (id != panier.ID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(panier);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!PanierExists(panier.ID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction("Index"));
            }
            ViewData["ProduitID"] = new SelectList(_context.Produits, "ID", "ID", panier.ProduitID);
            return(View(panier));
        }
        public IActionResult GetArticlesRecherches_DansPanier(int CompteId, string stringRecherchee)
        {
            try
            {
                Compte compte = _context.Comptes.Where(c => c.CompteId.Equals(CompteId)).FirstOrDefault();

                Panier panier = _context.Paniers.Where(p => p.CompteId.Equals(compte.CompteId)).FirstOrDefault();

                List <Article> articleDansPanier = _context.Articles.Where(a => a.PanierId.Equals(panier.PanierId)).ToList();

                // Si une string a été recherchée
                if (!(String.IsNullOrEmpty(stringRecherchee) || String.IsNullOrWhiteSpace(stringRecherchee)))
                {
                    List <Article> articleDansPanier_newList = new List <Article>();
                    articleDansPanier.ForEach(article =>
                    {
                        if (article.Nom.ToLower().Contains(stringRecherchee.ToLower()))
                        {
                            articleDansPanier_newList.Add(article);
                        }
                    });
                    articleDansPanier = articleDansPanier_newList;
                }
                return(Ok(articleDansPanier));
            }
            catch (Exception) { }

            return(BadRequest());
        }
예제 #22
0
 public VenteControl()
 {
     InitializeComponent();
     panier         = new Panier();
     produitsPanier = new ObservableCollection <Produit>(panier.Produits);
     listViewProduits.ItemsSource = produitsPanier;
 }
예제 #23
0
        public Produit ajouterProduit(Produit p)
        {
            using (var db = new Dao.ProjetContext())
            {
                db.produits.Add(p);


                db.SaveChanges();

                Panier pan = new Panier();
                pan.NombreProduits = 0;
                pan.PrixTotal      = 0;

                db.paniers.Add(pan);
                db.SaveChanges();


                ProduitCommande pc = new ProduitCommande();

                pc.PanierId  = pan.PanierId;
                pc.ProduitId = p.ProduitId;
                pc.quantite  = 20;

                db.produitCommandes.Add(pc);
                db.SaveChanges();

                return(p);
            }
        }
예제 #24
0
        public async Task <ActionResult <Panier> > PostPanier(Panier panier)
        {
            _context.Paniers.Add(panier);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetPanier", new { id = panier.PanierId }, panier));
        }
예제 #25
0
        public async Task <IActionResult> PutPanier(int id, Panier panier)
        {
            if (id != panier.PanierId)
            {
                return(BadRequest());
            }

            _context.Entry(panier).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!PanierExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
예제 #26
0
        public ActionResult DeleteConfirmed(int id)
        {
            Panier panier = db.Paniers.Find(id);

            db.Paniers.Remove(panier);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
예제 #27
0
        //commandes de prod
        public ActionResult Add(int id)
        {
            var test = from Commandes in db.orders
                       select Commandes;
            List <Commandes> otest = new List <Commandes>();

            foreach (Commandes ot in test)
            {
                if (ot.Id_cli == int.Parse(Session["id"].ToString()) && ot.check == 0)
                {
                    otest.Add(ot);
                }
            }

            if (otest.Count() == 0)
            {
                Session["coco"] = 1;
                Commandes c = new Commandes {
                    Id_cli = int.Parse(Session["id"].ToString()), check = 0
                };
                db.orders.Add(c);
                db.SaveChanges();
                var res = from Commandes in db.orders
                          select Commandes;
                Commandes co = null;
                foreach (Commandes cc in res)
                {
                    if (cc.Id_cli == int.Parse(Session["id"].ToString()) && cc.check == 0)
                    {
                        co = cc;
                    }
                }
                Panier p = new Panier {
                    Id_commande = co.Id_commande, Id_prod = id
                };
                db.Paniers.Add(p);
                db.SaveChanges();
            }
            else
            {
                var res = from Commandes in db.orders
                          select Commandes;
                Commandes co = null;
                foreach (Commandes cc in res)
                {
                    if (cc.Id_cli == int.Parse(Session["id"].ToString()) && cc.check == 0)
                    {
                        co = cc;
                    }
                }
                Panier p = new Panier {
                    Id_commande = co.Id_commande, Id_prod = id
                };
                db.Paniers.Add(p);
                db.SaveChanges();
            }
            return(RedirectToAction("Index"));
        }
예제 #28
0
        public ActionResult Create(Panier pan)
        {
            HttpClient Client = new HttpClient();

            Client.BaseAddress = new Uri("http://localhost:8081");

            Client.PostAsJsonAsync <Panier>("Reportt/ajouterPanier/{prodname}", pan).ContinueWith((postTask) => postTask.Result.EnsureSuccessStatusCode());
            return(RedirectToAction("Index"));
        }
예제 #29
0
 public Panier ajouterPanier(Panier p)
 {
     using (var db = new Dao.ProjetContext())
     {
         db.paniers.Add(p);
         db.SaveChanges();
         return(p);
     }
 }
 /* **************************** Panier **************************** */
 public Panier AjouterPanier(Panier p)
 {
     using (var bdd = new ApplicationContext())
     {
         bdd.paniers.Add(p);
         bdd.SaveChanges();
         return(p);
     }
 }