public EmploisDuTemps(DateTime _dateDebut, DateTime _dateFin, Destinataire _dest) { this.DateDebut = _dateDebut; this.DateFin = _dateFin; this.Destinataire = _dest; this.ListSessions = this.Destinataire.GetSessions(this.DateDebut, this.DateFin); }
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"); } }