//Methode affichant l'etat central par nom d'articles public static void AfficherEtatStockCentral(StockBureaucentral frm, bool filtre) { using (var sim = new SIM_Context()) { IEnumerable <Object> result = null; if (filtre) { result = from s in sim.StockCentrals where s.Article.nom.ToUpper().StartsWith(frm.TxtNom.Text.ToUpper()) select new { Numero = s.Article.numArticle, Nom = s.Article.nom, Catetorie = s.Article.categorie, QteEnStock = s.Article.StockCentral.qte, QteCritique = s.qteCritique }; } else { result = from s in sim.StockCentrals select new { Numero = s.Article.numArticle, Nom = s.Article.nom, Catetorie = s.Article.categorie, QteEnStock = s.Article.StockCentral.qte, QteCritique = s.qteCritique }; } frm.GridEtatStock.DataSource = result.ToList(); frm.GridEtatStock.DataBind(); } }
public static void Modifier(ModifierArticle frmArticle) { TextBox nom = frmArticle.TxtNom; TextBox description = frmArticle.TxtDescription; int num = int.Parse(frmArticle.TxtNum.Text); using (var sim = new SIM_Context() /*SIM_Context.getInstance()*/) { try { Article article; //Verifier l'existence de l'article if ((article = sim.Articles.Find(num)) != null) { //Modification de l'article article.nom = frmArticle.TxtNom.Text; article.description = frmArticle.TxtDescription.Text; article.categorie = frmArticle.TxtCategorie.Text; article.prixAchat = double.Parse(frmArticle.TxtPxAchat.Text); article.prixVente = double.Parse(frmArticle.TxtPxVente.Text); //Sauvegarde de l'article sim.SaveChanges(); //Affichage de la mise à jour de la liste. frmArticle.LblResultatModificationArticle.Text = "Article modifié avec succes!"; //frmArticle.Server.Transfer("RechercherArticle.aspx"); } } catch (Exception) { frmArticle.LblResultatModificationArticle.Text = "Les prix d'achat et de ventes nombre seulement!"; } } }
//Lister articles dans la fenetre vente public static void ListerArticles(NouvelleVente frm) { frm.LblTxtQuantite.Text = ""; if (!frm.TxtArticle.Text.Equals("")) { var sim = new SIM_Context(); Utilisateur user = frm.Session["utilisateur"] as Utilisateur; var result = from a in sim.Stocks where a.numFiliale == user.numFiliale && a.Article.nom.ToUpper().StartsWith(frm.TxtArticle.Text.ToUpper()) && a.qteEnStock > 0 select new { NumArticle = a.numArticle, NomArticle = a.Article.nom, Description = a.Article.description, PrixVente = a.Article.prixVente, QuantiteEnStock = a.qteEnStock }; if (result.Count() > 0) { frm.GridArticle.DataSource = result.ToList(); frm.GridArticle.DataBind(); } } }
//Enregistrer un fournisseur public static void Enregistrer(NouveauFournisseur frm) { if (Rechercher(telephone: frm.TxtTelephone.Text, nom: frm.TxtNom.Text) == null) { using (var sim = new SIM_Context() /*SIM_Context.getInstance()*/) { try { Fournisseur fournisseur = sim.Fournisseurs.Add( new Fournisseur { nom = frm.TxtNom.Text, adresse = frm.TxtAdresse.Text, telephone = frm.TxtTelephone.Text } ); int n = sim.SaveChanges();//Procedure stockee à intégrer ... frm.TxtNum.Text = fournisseur.numFournisseur.ToString(); //Message de confirmation! frm.LblResultatNouveauFournisseur.Text = "Fournisseur enregistrer avec SUCCES!"; } catch (Exception ex) { frm.LblResultatNouveauFournisseur.Text = "Erreur enregistrement fournisseur"; } } } else { frm.LblResultatNouveauFournisseur.Text = "Attention! Fournisseur existe deja!"; } }
//Rechercher un article par nom (enStock=true: Article en stock / enStock=false: Article simplement enregistré) private static List <Article> Rechercher(string nom, bool enStock) { List <Article> listArticle = null; using (var sim = new SIM_Context() /*SIM_Context.getInstance()*/) { IEnumerable <Article> result = null; if (!enStock) { result = from a in sim.Articles where a.nom.ToUpper().StartsWith(nom.ToUpper()) select a; } else { result = from a in sim.Articles where a.nom.ToUpper().StartsWith(nom.ToUpper()) && a.StockCentral.Article != null select a; } if (result != null && result.Count() > 0) { listArticle = result.ToList(); } } return(listArticle); }
//Recevoir une commande public static void RecevoirCommande(RecevoirCommande frm) { try { //Recuperation du numero de commande int numCommande = int.Parse(frm.Session["numCommande"].ToString()); using (var sim = new SIM_Context()) { //Recuperation de l'objet commande Commande commande = sim.Commandes.Find(numCommande); if (commande != null) { foreach (LigneCommande l in commande.LigneCommandes) { //Selectionner l'article Article article = l.Article; //Selectionner le StockCentral lié à l'article StockCentral stockCentral = sim.StockCentrals.Find(article.numArticle); if (stockCentral != null)//L'article est deja en stock { //Mise à jour de la quantite en stock stockCentral.qte += l.quantite; } else { //Premiere commande pour cet article sim.StockCentrals.Add( new StockCentral { numArticle = article.numArticle, qte = l.quantite, qteCritique = 0 } ); } } int result = sim.SaveChanges(); frm.Session.Remove("numCommande"); frm.LblResultatNumeroCommande.Text = ""; frm.LblResultatRecevoir.Text = "La commande a été reçu avec succes!"; frm.BtnRecevoir.Enabled = false; frm.BtnImprimer.Enabled = false; } } } catch (Exception) { frm.LblResultatRecevoir.Text = "Le numéro de la commande invalide"; } }
private void CharcherNumeroBonDistribution() { Utilisateur user = Session["utilisateur"] as Utilisateur; var sim = new SIM_Context(); var result = from b in sim.BonDistributions where b.numFiliale == user.numFiliale select b; DDLNumBonDistribution.DataSource = result.ToList(); DDLNumBonDistribution.DataTextField = "numBonDistribution"; DDLNumBonDistribution.DataBind(); }
//Rechercher tous les fournisseurs public static List <Fournisseur> Rechercher() { List <Fournisseur> listeFournisseur = null; using (var sim = new SIM_Context() /*SIM_Context.getInstance()*/) { listeFournisseur = (from f in sim.Fournisseurs select f ).ToList(); } return(listeFournisseur); }
//Rechercher toutes les filiales public static List <Filiale> Rechercher() { List <Filiale> listeFiliale = null; using (var sim = new SIM_Context() /*SIM_Context.getInstance()*/) { listeFiliale = (from f in sim.Filiales where f.type != "Central" select f ).ToList(); } return(listeFiliale); }
public static void Enregistrer(NouvelleBonDistribution frm) { //L'utilisateur en cours Utilisateur utilisateur = frm.Session["utilisateur"] as Utilisateur; //Mon fammeux objet bon distribution BonDistribution bnd = frm.Session["bonDistribution"] as BonDistribution; //Recuperer la filiale Filiale filiale = GestionFiliale.Rechercher(frm.CmbFiliale.SelectedValue); //Completion de l'objet bondistribution bnd.numFiliale = filiale.numFiliale; bnd.dateBonDistribution = DateTime.Now; bnd.nomUtilisateur = utilisateur.nomUtilisateur; //bnd.Filiale = filiale; bnd.NotificationBonDistributions.Add( new NotificationBonDistribution { message = "Un bon de distribution vous a été envoyé", dateNotification = DateTime.Now, etat = "0"//0: Nom, lu 1: Lu } ); using (var sim = new SIM_Context()) { //Mise à jour de la quantite du stock centrale pour chaque article distribué foreach (LigneBonDistribution l in bnd.LigneBonDistributions) { sim.Articles.Find(l.numArticle).StockCentral.qte -= l.quantite; } //Sauvegarde du bon de distribution bnd = sim.BonDistributions.Add(bnd); int result = sim.SaveChanges(); //Affichage numero bon de distribution frm.TxtNumBonDistribution.Text = bnd.numBonDistribution.ToString(); //Mise à jour du grid frm.GridViewDistribution.DataSource = bnd.LigneBonDistributions; frm.GridViewDistribution.DataBind(); frm.BtnEnregistrer.Enabled = false; frm.Session.Remove("bonDistribution"); frm.LblResultatEnregistrer.Text = "Bon de distribution enregistré avec succes!"; frm.LblResultatTxtQuantite.Text = ""; //Message de confirmation : Le bon de distribution a été sauvegardé avec succès! } }
protected void btnRecevoir_Click(object sender, EventArgs e) { //A deplacer dans le controleur approprie BonDistribution bnd = null; using (var sim = new SIM_Context()) { bnd = sim.BonDistributions.Find(int.Parse(this.DDLNumBonDistribution.SelectedItem.Text)); if (bnd != null) { foreach (LigneBonDistribution l in bnd.LigneBonDistributions) { //Rechercher le stock de l'article dans la filiale var result = from s in l.Article.Stocks where s.numArticle == l.numArticle && s.numFiliale == bnd.numFiliale select s; if (result.Count() == 0)//Premiere distribution de l'article dans cette filiale { l.Article.Stocks.Add( new Stock { numArticle = l.numArticle, numFiliale = bnd.numFiliale, qteEnStock = l.quantite, qteMoyenneMin = 0 } ); } else //Le stock de cet article existe deja dans cette filiale { result.Single().qteEnStock += l.quantite; //Peux pas distribuer un article deux fois!!!!! pour la meme filiale } } sim.SaveChanges(); //Message de confirmation! LblResultatRecevoirBonDistribution.Text = "Le bon a été reçu avec succes!"; BtnRecevoir.Enabled = false; //efface le bon recu!(juste pour demonstration pour simuler la reception correct!!!) //sim.NotificationBonDistributions.Remove(sim.NotificationBonDistributions.Find(bnd.numBonDistribution)); sim.BonDistributions.Remove(bnd); sim.SaveChanges(); } } }
//Rechercher un article par numero article public static Article Rechercher(int numArticle) { Article article = null; var sim = new SIM_Context(); IEnumerable <Article> result = from a in sim.Articles where a.numArticle == numArticle select a; if (result.Count() > 0) { article = result.First(); } return(article); }
//Valider une vente public static void ValiderVente(NouvelleVente frm) { try { Utilisateur user = frm.Session["utilisateur"] as Utilisateur; Vente vente = frm.Session["vente"] as Vente; string sms = "Commande en urgence pour les articles suivants : "; bool temoinMsg = false; using (var sim = new SIM_Context()) { foreach (LigneVente l in vente.LigneVentes) { //Mise à jour de la quantite en stock //Stock stock = sim.Stocks.Find(new object[] { l.numArticle, user.numFiliale});//Douteux? Stock stock = (from s in sim.Stocks where s.numArticle == l.numArticle && s.numFiliale == user.numFiliale select s ).Single(); stock.qteEnStock -= l.quantite; if (stock.qteEnStock == stock.qteMoyenneMin) { sms += "(" + stock.numArticle + "," + stock.Article.nom + ") "; temoinMsg = true; } } vente.dateVente = DateTime.Now; vente = sim.Ventes.Add(vente); int ok = sim.SaveChanges(); frm.TxtNumVente.Text = vente.numVente.ToString(); frm.TxtDateVente.Text = vente.dateVente.ToShortDateString(); //Notification if (temoinMsg) { Sms.SendSms(sms); } //Message: La vente a été éffectuée avec succès frm.LblResultatValiderNouvelVente.Text = "La vente a été éffectuée avec succès"; } } catch (Exception ex) { frm.LblResultatValiderNouvelVente.Text = "Erreur dans le formulaire de vente. SVP appeler le support techniques"; } }
//Qte en stock d'un article dans une filiale private static int GetQuantiteEnStock(int numArt, int numFiliale) { int qte = -1; using (var sim = new SIM_Context()) { var result = from s in sim.Stocks where s.numFiliale == numFiliale && s.numArticle == numArt select s; if (result.Count() > 0) { qte = result.Single().qteEnStock; } } return(qte); }
//Rechercher un fournisseur par nom public static Fournisseur Rechercher(string nom) { Fournisseur fournisseur = null; using (var sim = new SIM_Context() /*SIM_Context.getInstance()*/) { IEnumerable <Fournisseur> result = from f in sim.Fournisseurs where f.nom == nom select f; if (result.Count() > 0) { fournisseur = result.First(); } } return(fournisseur); }
//Enregistrer un nouvel article public static void Enregister(NouvelArticle frmArticle) { //TextBox nom = frmArticle.FindControl("txtNom") as TextBox; TextBox nom = frmArticle.TxtNom; //TextBox description = frmArticle.FindControl("txtDescription") as TextBox; TextBox description = frmArticle.TxtDescription; if (Rechercher(description: description.Text, nom: nom.Text) == null) { //TextBox categorie = frmArticle.FindControl("txtCategorie") as TextBox; DropDownList categorie = frmArticle.DDLCategorieNouvelArticle; //TextBox pxAchat = frmArticle.FindControl("txtPxAchat") as TextBox; TextBox pxAchat = frmArticle.TxtPxAchat; //TextBox pxVente = frmArticle.FindControl("txtPxVente") as TextBox; TextBox pxVente = frmArticle.TxtPxVente; using (var sim = new SIM_Context() /*SIM_Context.getInstance()*/) { try { Article article = sim.Articles.Add(new Article { nom = nom.Text, description = description.Text, categorie = categorie.SelectedValue.ToString(), prixAchat = double.Parse(pxAchat.Text), prixVente = double.Parse(pxVente.Text) }); int n = sim.SaveChanges();//Procedure stockee à intégrer ... frmArticle.TxtNum.Text = article.numArticle.ToString(); //Ajouter aussi un message de confirmation frmArticle.LblResultatNouvelArticle.Text = "L'article a été enregistrer avec succes!"; } catch (Exception) { //Affiche message si prix n'Est pas un nombre frmArticle.LblResultatNouvelArticle.Text = "Prix d'achat et de vente en nombre seulement"; } } } else { frmArticle.LblResultatNouvelArticle.Text = "Attention! L'article existe déjà!"; } }
//Rechercher un article par nom et par description private static Article Rechercher(string nom, string description) { Article article = null; using (var sim = new SIM_Context() /*SIM_Context.getInstance()*/) { IEnumerable <Article> result = from a in sim.Articles where a.nom == nom && a.description == description select a; if (result.Count() > 0) { article = result.First(); } } return(article); }
//Rechercher une commande public static Commande RechercherCommande(int numCommande) { Commande commande = null; var sim = new SIM_Context();//Il faut absolument implementer L'interface IClonable pour toutes les entites IEnumerable <Commande> result = from c in sim.Commandes where c.numCommande == numCommande select c; if (result.Count() > 0) { commande = result.Single(); } return(commande); }
//Rechercher une filiale par nom public static Filiale Rechercher(string nom) { Filiale filiale = null; using (var sim = new SIM_Context() /*SIM_Context.getInstance()*/) { IEnumerable <Filiale> result = from f in sim.Filiales where f.nom == nom select f; if (result.Count() > 0) { filiale = result.First(); } } return(filiale); }
//Rechercher un utilisateur private static Utilisateur Rechercher(string user, string pass)//Exception à propager ici { Utilisateur utilisateur = null; using (var sim = new SIM_Context() /*SIM_Context.getInstance()*/) { var result = from u in sim.Utilisateurs where u.nomUtilisateur == user && u.motDePasse == pass select u; if (result.Count() > 0) { utilisateur = result.Single(); } } return(utilisateur); }
//Enregistrer une commande public static void EnregisterCommande(NouvelleCommande frm) { //L'utilisateur en cours Utilisateur utilisateur = frm.Session["utilisateur"] as Utilisateur; //Mon fammeux objet commande Commande cmd = frm.Session["commande"] as Commande; //Recuperer le fournisseur Fournisseur fournisseur = GestionFournisseur.Rechercher(frm.CmbFournisseur.SelectedValue); //Completion de l'objet commande cmd.numFournisseur = fournisseur.numFournisseur; cmd.dateCommande = DateTime.Now; try { cmd.nomUtilisateur = utilisateur.nomUtilisateur; using (var sim = new SIM_Context()) { //Sauvegarde de la commande cmd = sim.Commandes.Add(cmd); int result = sim.SaveChanges(); //Affichage numero commande frm.TxtNumCommande.Text = cmd.numCommande.ToString(); //Mise à jour du grid frm.GridViewCommande.DataSource = cmd.LigneCommandes; frm.GridViewCommande.DataBind(); frm.BtnEnregistrer.Enabled = false; frm.Session.Remove("commande"); frm.LblResultatEnregistrer.Text = "Nouvelle commande enregistré avec succes!"; //Message de confirmation : La commande a été sauvegardée avec succes } } catch (Exception) { frm.LblResultatEnregistrer.Text = "Vous êtes pas authentifié"; } //cmd.Fournisseur = fournisseur; }
protected void btnRechercher_Click(object sender, EventArgs e) { try { //A deplacer dans le controleur approprie BonDistribution bnd = null; using (var sim = new SIM_Context()) { bnd = sim.BonDistributions.Find(int.Parse(this.DDLNumBonDistribution.SelectedItem.Text)); if (bnd != null) { //this.TxtNumBondistribution.Text = bnd.numBonDistribution.ToString(); this.TxtNomFiliale.Text = bnd.Filiale.nom; this.TxtDateBonDistribution.Text = bnd.dateBonDistribution.ToShortDateString(); this.GridBonDistribution.DataSource = (from b in bnd.LigneBonDistributions select new { NumeroArticle = b.numArticle, NomArticle = b.Article.nom, Description = b.Article.description, Quantite = b.quantite } ).ToList(); this.GridBonDistribution.DataBind(); } else { lblResultatNumeroBonDistribution.Text = "Bon de distribution n'existe pas"; return; } lblResultatNumeroBonDistribution.Text = ""; BtnRecevoir.Enabled = true; BtnImprimer.Enabled = true; BtnRechercher.Enabled = false; DDLNumBonDistribution.Enabled = false; } } catch (Exception) { lblResultatNumeroBonDistribution.Text = "Champ obligatoire en numérique!"; } }