Ejemplo n.º 1
0
        public ActionResult ReprendreArticles(int commandeId, bool viderPanier)
        {
            CommandeDAL commandeDAL = new CommandeDAL();
            Commande    commande    = commandeDAL.Detail(commandeId);

            if (commande != null && commande.ClientId == Client.Id)
            {
                List <ArticleViewModel> articles = commandeDAL.Articles(commandeId);
                if (viderPanier)
                {
                    new PanierDAL(Client.Id).Supprimer();
                    PanierViewModel.Initialiser();
                    ViewBag.Panier = null; //todo
                }
                List <Article> articlesKo = new List <Article>();
                foreach (var a in articles)
                {
                    if (!PanierViewModel.Ajouter(a.Article, a.Quantite, Client.Id, ProspectGuid))
                    {
                        articlesKo.Add(a.Article);
                    }
                }
                ViewBag.Panier = PanierViewModel;
                TempData["ArticlesNonAjoutes"] = articlesKo;
                if (articlesKo.Count > 0)
                {
                    string dossierImagesArticles = ConfigurationManager.AppSettings["PathImagesArticles"];
                    string message = "Les articles suivants ne peuvent pas être repris car ils ne sont plus disponibles :" +
                                     "<div class=\"gestionCommandeArticle\">" +
                                     "<section class=\"imagesGestionCommande\">";
                    foreach (Article article in articlesKo)
                    {
                        message += "<div class=\"indexArticle\">" +
                                   $"<img src=\"{dossierImagesArticles}/{article.Image}\" alt=\"{article.Nom}\" /> " +
                                   $"<p>{article.Nom}</p>" +
                                   $"</div>";
                    }
                    message += "</section>" +
                               "</div>";
                    TempData["message"] = new Message(message, TypeMessage.Info); // TODO faire plus propre et ailleurs (formatage html propre à la vue)
                }
                else
                {
                    TempData["message"] = new Message($"La reprise des {articles.Count} articles de votre commande s'est correctement réalisée", TypeMessage.Ok);
                }
            }
            RecupererPanierEnBase();
            ViewBag.Panier = PanierViewModel;
            return(RedirectToAction("Index", "Panier"));
        }
Ejemplo n.º 2
0
        public ActionResult Ajouter(string nom, string ancre, bool?retourPageArticleIndex)
        {
            Article article = new ArticleDAL().Details(nom);

            if (article != null && article.DansCarte)
            {
                PanierViewModel.Ajouter(article, 1, Client.Id, ProspectGuid);
                ViewBag.Panier = PanierViewModel;
            }
            if (retourPageArticleIndex ?? false)
            {
                return(Redirect("/Article" + ancre));
            }
            else
            {
                return(Redirect(Request.UrlReferrer.AbsolutePath + ancre));
            }
        }