示例#1
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (Session.IsAdmin())
     {
         Gestionnaire    g             = Session.GetAdmin();
         PPDestinataires destinataires = new PPDestinataires();
         NomUtilisateur.Text = $"{g.Prenom} {g.Nom}";
         var messagesNonLu = destinataires.CountMessagesNonLu(g.NoAdmin.Value);
         lblBadgeAdmin.Text = messagesNonLu != 0 ? messagesNonLu.ToString() : "";
     }
 }
    private void click_supprimer(object sender, EventArgs e)
    {
        Button     btn        = (Button)sender;
        PPProduits produits   = new PPProduits();
        Produit    aSupprimer = produits.Values.Where(x => x.NoProduit == long.Parse(btn.ID.ToString().Split('s')[1])).ToList().First();
        //je peux récupérer l'id a supprimer avec le code ci-haut
        bool                   panier      = false;
        bool                   commande    = false;
        string                 sortie      = aSupprimer.NoProduit.ToString() + " ---> ";
        PPArticlesEnPanier     paniers     = new PPArticlesEnPanier();
        List <ArticleEnPanier> listePanier = paniers.Values.Where(x => x.NoProduit == aSupprimer.NoProduit).ToList();

        if (listePanier.Count() != 0)
        {
            //Dans panier
            panier = true;
        }

        PPDetailsCommandes      detailsCommandes = new PPDetailsCommandes();
        List <DetailsCommandes> listeCommande    = detailsCommandes.Values.Where(x => x.NoProduit == aSupprimer.NoProduit).ToList();

        if (listeCommande.Count() != 0)
        {
            //Dans commande
            commande = true;
        }

        if (!panier && !commande)
        {
            //null part
            //panelTable.LblDyn("", "On peut supprimer le produit");
            produits.Remove(aSupprimer);
            produits.Update();
            File.Delete(Server.MapPath("~/Pictures/") + aSupprimer.Photo);
            Response.Redirect(Request.RawUrl);
        }
        else if (panier && !commande)
        {
            //panier mais pas commande
            PPMessages      ppM = new PPMessages();
            PPDestinataires ppd = new PPDestinataires();
            PPVendeurs      ppv = new PPVendeurs();
            long            noM = ppM.NextId();
            //@Marc ici on envoie un courriel a tous les clients ayant eu un panier pour le produit
            int     noV     = int.Parse(Session.GetVendeur().NoVendeur.ToString());
            Vendeur venMess = ppv.Values.Find(v => v.NoVendeur == aSupprimer.NoVendeur);
            Message m       = new Message(null)
            {
                NoMsg        = (int)noM,
                DescMsg      = $"Un des produits dans votre panier ({aSupprimer.Nom}) de {venMess.NomAffaires} fut supprimé.",
                objet        = "Un des produits dans votre panier fut supprimé.",
                Lieu         = 2,
                dateEnvoi    = DateTime.Now,
                NoExpediteur = noV
            };
            ppM.Add(m);
            ppM.Update();


            //supprimer les paniers liés a ce produit
            foreach (ArticleEnPanier article in listePanier)
            {
                Destinataire d = new Destinataire(null)
                {
                    NoDestinataire = (int)article.NoClient,
                    NoMsg          = (int)noM,
                    EtatLu         = 0,
                    Lieu           = 1
                };
                ppd.Add(d);
                ppd.Update();
                paniers.Remove(article);
            }
            paniers.Update();
            //supprimer le produit en question
            produits.Remove(aSupprimer);
            produits.Update();
            File.Delete(Server.MapPath("~/Pictures/") + aSupprimer.Photo);



            Response.Redirect(Request.RawUrl);


            //panelTable.LblDyn("", "Retirer des paniers, aviser le vendeur : nb Panier : " + listePanier.Count().ToString());
        }
        else if (!panier && commande)
        {
            //a revoir car pas vraiment supprimé... lol
            //dans commande mais pas panier
            aSupprimer.Disponibilité = false;
            aSupprimer.NombreItems   = -1;
            produits.NotifyUpdatedOutside(aSupprimer);
            produits.Update();
            Response.Redirect(Request.RawUrl);
            //panelTable.LblDyn("", "Reste au catalogue, qte devient 0 et dispo = non");
        }
        else if (panier && commande)
        {
            //partout
            PPMessages      ppM = new PPMessages();
            PPDestinataires ppd = new PPDestinataires();
            PPVendeurs      ppv = new PPVendeurs();
            long            noM = ppM.NextId();

            int     noV     = int.Parse(Session.GetVendeur().NoVendeur.ToString());
            Vendeur venMess = ppv.Values.Find(v => v.NoVendeur == aSupprimer.NoVendeur);
            Message m       = new Message(null)
            {
                NoMsg        = (int)noM,
                DescMsg      = $"Un des produits dans votre panier ({aSupprimer.Nom}) de {venMess.NomAffaires} fut supprimé.",
                objet        = "Un des produits dans votre panier fut supprimé.",
                Lieu         = 2,
                dateEnvoi    = DateTime.Now,
                NoExpediteur = noV
            };
            ppM.Add(m);
            ppM.Update();


            //supprime les paniers
            foreach (ArticleEnPanier article in listePanier)
            {
                Destinataire d = new Destinataire(null)
                {
                    NoDestinataire = (int)article.NoClient,
                    NoMsg          = (int)noM,
                    EtatLu         = 0,
                    Lieu           = 1
                };
                ppd.Add(d);
                ppd.Update();
                paniers.Remove(article);
            }
            paniers.Update();

            //change le statut a cause des commandes
            aSupprimer.Disponibilité = false;
            aSupprimer.NombreItems   = -1;
            produits.NotifyUpdatedOutside(aSupprimer);
            produits.Update();

            //@Marc ici on envoie un courriel a tous les clients ayant eu un panier pour le produit


            Response.Redirect(Request.RawUrl);
            //panelTable.LblDyn("", "Retirer panier et Mettre Qte a 0 et dispo = non");
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Session.GetTypeU() != null)
        {
            PPDestinataires destinataires = new PPDestinataires();
            if (Session.IsVendeur())
            {
                pnClient.Visible   = false;
                pnVisiteur.Visible = false;
                pnVendeur.Visible  = true;
                pnAdmin.Visible    = false;
                Vendeur vendeur = Session.GetVendeur();
                string  image   = "";

                if (vendeur.Configuration != null)
                {
                    if (vendeur.Configuration.Contains(";"))
                    {
                        string[] liste = vendeur.Configuration.Split(';');

                        if (liste.Length == 2)
                        {
                            if (liste[0] != "")
                            {
                                image = "~/Logos/" + liste[0];
                            }
                        }
                        else if (liste.Length == 3)
                        {
                            if (liste[0] != "")
                            {
                                image = "~/Logos/" + liste[0];
                            }
                        }
                    }
                    else
                    {
                        image = "~/Logos/" + vendeur.Configuration;
                    }
                }

                if (image != "")
                {
                    imgLogo.ImageUrl = image;
                }

                lblAccueil.Text = vendeur.NomAffaires;


                if (vendeur.Nom == null || vendeur.Prenom == null)
                {
                    lblNomVendeur.Text = vendeur.AdresseEmail;
                }
                else
                {
                    lblNomVendeur.Text = $"{vendeur.Prenom} {vendeur.Nom}";
                }

                hlLogo.NavigateUrl = "~/Pages/Vendeur/AccueilVendeur.aspx";
                var messagesNonLu = destinataires.CountMessagesNonLu(vendeur.NoVendeur.Value);
                lblBadgeVendeur.Text = messagesNonLu != 0 ? messagesNonLu.ToString() : "";
            }
            else if (Session.IsClient())
            {
                pnClient.Visible   = true;
                pnVisiteur.Visible = false;
                pnVendeur.Visible  = false;
                pnAdmin.Visible    = false;
                Client client = Session.GetClient();

                if (client.Nom == null || client.Prenom == null)
                {
                    lblNomClient.Text = client.AdresseEmail;
                }
                else
                {
                    lblNomClient.Text = $"{client.Prenom} {client.Nom}";
                }

                hlLogo.NavigateUrl = "~/Pages/Accueil.aspx";

                var messagesNonLu = destinataires.CountMessagesNonLu(client.NoClient.Value);
                lblBadgeClient.Text = messagesNonLu != 0 ? messagesNonLu.ToString() : "";
            }
            else if (Session.IsAdmin())
            {
                // Admin
                pnAdmin.Visible    = true;
                pnClient.Visible   = false;
                pnVisiteur.Visible = false;
                pnVendeur.Visible  = false;

                Gestionnaire g = Session.GetAdmin();
                if (g.Nom == null || g.Prenom == null)
                {
                    lblNomAdmin.Text = g.Email;
                }
                else
                {
                    lblNomAdmin.Text = $"{g.Prenom} {g.Nom}";
                }

                hlLogo.NavigateUrl = "~/Pages/Admin/PageAccueilAdmin.aspx";
                var messagesNonLu = destinataires.CountMessagesNonLu(g.NoAdmin.Value);
                lblBadgeAdmin.Text = messagesNonLu != 0 ? messagesNonLu.ToString() : "";
            }
            else
            {
                //Juste au cas où
                pnClient.Visible   = false;
                pnVisiteur.Visible = true;
                pnVendeur.Visible  = false;
                pnAdmin.Visible    = false;
                hlLogo.NavigateUrl = "~/Pages/Accueil.aspx";
            }
        }

        else
        {
            pnClient.Visible   = false;
            pnVisiteur.Visible = true;
            pnVendeur.Visible  = false;
            pnAdmin.Visible    = false;
            hlLogo.NavigateUrl = "~/Pages/Accueil.aspx";
        }
    }