예제 #1
0
        public IEnumerable <Clientel> GetAll()
        {
            IEnumerable <Clientel> clients = new List <Clientel>();
            Serreurs erreur = new Serreurs("Erreur sur lecture des clients.", "ClientsList.getClients()");

            try
            {
                string    sql       = "SELECT * FROM clientel ORDER BY no_client";
                DataTable dataTable = DBInterface.Lecture(sql, erreur);
                foreach (DataRow dataRow in dataTable.Rows)
                {
                    ((List <Clientel>)clients).Add(new Clientel(
                                                       dataRow["no_client"].ToString(),
                                                       dataRow["societe"].ToString(),
                                                       dataRow["nom_cl"].ToString(),
                                                       dataRow["prenom_cl"].ToString(),
                                                       dataRow["adresse_cl"].ToString(),
                                                       dataRow["ville_cl"].ToString(),
                                                       dataRow["code_post_cl"].ToString()
                                                       ));
                }
                dataTable.Dispose();
                return(clients);
            }
            catch (MonException e)
            {
                throw new MonException(erreur.MessageUtilisateur(), erreur.MessageApplication(), e.Message);
            }
            catch (MySqlException e)
            {
                throw new MonException(erreur.MessageUtilisateur(), erreur.MessageApplication(), e.Message);
            }
        }
예제 #2
0
        public Commande GetSingleById(int id)
        {
            Serreurs erreur = new Serreurs("Erreur sur lecture de la commande.", "CommandeDAO.GetSingleById(id)");

            try
            {
                Commande  commande  = new Commande();
                string    sql       = "SELECT * FROM commandes WHERE no_command = " + id.ToString();
                DataTable dataTable = DBInterface.Lecture(sql, erreur);

                commande.NoCommand = dataTable.Rows[0]["no_command"].ToString();
                commande.Vendeur   = new VendeurDAO().GetSingleById(int.Parse(dataTable.Rows[0]["no_vendeur"].ToString()));
                commande.Client    = new ClientelDAO().GetSingleById(int.Parse(dataTable.Rows[0]["no_client"].ToString()));
                commande.Date      = dataTable.Rows[0]["date_cde"].ToString();
                if (dataTable.Rows[0]["facture"].ToString() == "T")
                {
                    commande.Facture = true;
                }
                else
                {
                    commande.Facture = false;
                }

                dataTable.Dispose();
                return(commande);
            }
            catch (MonException e)
            {
                throw new MonException(erreur.MessageUtilisateur(), erreur.MessageApplication(), e.Message);
            }
            catch (MySqlException e)
            {
                throw new MonException(erreur.MessageUtilisateur(), erreur.MessageApplication(), e.Message);
            }
        }
예제 #3
0
        public DetailCde GetSingleById(int id)
        {
            Serreurs erreur = new Serreurs("Erreur sur lecture des clients.", "ClientsList.getClients()");

            try
            {
                DetailCde detailCde = new DetailCde();
                string    sql       = "SELECT * FROM detail_cde WHERE no_command = " + id.ToString();
                DataTable dataTable = DBInterface.Lecture(sql, erreur);

                detailCde.Commande = new CommandeDAO().GetSingleById(int.Parse(dataTable.Rows[0]["no_command"].ToString()));

                List <Article> articles = new List <Article>();
                List <int>     qteCdees = new List <int>();
                List <bool>    livree   = new List <bool>();

                ArticleDAO articleDAO = new ArticleDAO();
                foreach (DataRow dataRow in dataTable.Rows)
                {
                    articles.Add(articleDAO.GetSingleById(int.Parse(dataRow["no_article"].ToString())));
                    qteCdees.Add(int.Parse(dataRow["qte_cdee"].ToString()));
                    if (dataRow["livree"].ToString() == "T")
                    {
                        livree.Add(true);
                    }
                    else
                    {
                        livree.Add(false);
                    }
                }

                detailCde.NbArticle = dataTable.Rows.Count;
                detailCde.Articles  = articles;
                detailCde.QteCdees  = qteCdees;
                detailCde.Livrees   = livree;

                dataTable.Dispose();
                return(detailCde);
            }
            catch (MonException e)
            {
                throw new MonException(erreur.MessageUtilisateur(), erreur.MessageApplication(), e.Message);
            }
            catch (MySqlException e)
            {
                throw new MonException(erreur.MessageUtilisateur(), erreur.MessageApplication(), e.Message);
            }
        }
예제 #4
0
        public void ModifierArticle(articles art)
        {
            Serreurs er = new Serreurs("Erreur sur la modification d'un article",
                                       "modifierArticle");
            // requête de sélection pour une mise à jour .

            var unarticle = from a in unCommercial.articles
                            where a.NO_ARTICLE == art.NO_ARTICLE
                            select a;

            // On modifie les données
            foreach (articles ligne in unarticle)
            {
                ligne.NO_ARTICLE  = art.NO_ARTICLE;
                ligne.LIB_ARTICLE = art.LIB_ARTICLE;
                ligne.INTERROMPU  = art.INTERROMPU;
                ligne.PRIX_ART    = (decimal)art.PRIX_ART;
                ligne.QTE_DISPO   = (int)art.QTE_DISPO;
                ligne.VILLE_ART   = art.VILLE_ART;
            }

            // On enregistre les modifications dans la base de données .
            try
            {
                unCommercial.SaveChanges();
            }
            catch (Exception e)
            {
                throw new MonException(er.MessageUtilisateur(),
                                       er.MessageApplication(), e.Message);
            }
        }
예제 #5
0
        //récupère la liste des articles
        public DataTable GetLesArticles(String tri = "NO_ARTICLE", String ordre = "ASC")
        {
            DataTable dt = new DataTable();
            Serreurs  er = new Serreurs("Erreur sur lecture du client.",
                                        "Clientel.LectureNoClient()");

            try

            {
                dt.Columns.Add("NO_ARTICLE", typeof(String));
                dt.Columns.Add("LIB_ARTICLE", typeof(String));
                dt.Columns.Add("PRIX_ART", typeof(Decimal));
                dt.Columns.Add("QTE_DISPO", typeof(Int32));
                dt.Columns.Add("INTERROMPU", typeof(String));
                dt.Columns.Add("VILLE_ART", typeof(String));


                var req = from a in unCommercial.articles
                          orderby tri, ordre
                select a;
                foreach (var res in req)
                {
                    dt.Rows.Add(res.NO_ARTICLE, res.LIB_ARTICLE, res.PRIX_ART, res.QTE_DISPO, res.INTERROMPU, res.VILLE_ART);
                }
                return(dt);
            }
            catch (Exception e)
            {
                throw new MonException(er.MessageUtilisateur(),
                                       er.MessageApplication(), e.Message);
            }
        }
예제 #6
0
        //appelle la procédure permettant de modifier le prix d'un article
        public Service ModifierPrixArticles(String value)
        {
            Serreurs er      = new Serreurs("Erreur sur l'augmentation du prix des articles", "Article.ModifierPrixArticles()");
            double   zevalue = double.Parse(value);

            try
            {
                //appel de la procedure pour augmenter les prix
                unCommercial.articles_augm_prix(zevalue);
                unCommercial.SaveChanges();
                var objectContext      = ((IObjectContextAdapter)unCommercial).ObjectContext;
                var refreshableObjects = (from entry in objectContext.ObjectStateManager.GetObjectStateEntries(
                                              EntityState.Added
                                              | EntityState.Deleted
                                              | EntityState.Modified
                                              | EntityState.Unchanged)
                                          where entry.EntityKey != null
                                          select entry.Entity).ToList();

                objectContext.Refresh(RefreshMode.StoreWins, refreshableObjects);
            }

            catch (Exception e)
            {
                throw new MonException(er.MessageUtilisateur(),
                                       er.MessageApplication(), e.Message);
            }

            return(this);
        }
예제 #7
0
        //permet de récupérer tous les articles associés à une commande donnée
        public DetailCde GetDetailCommande(String no_cmd)
        {
            Serreurs er = new Serreurs("Erreur sur le détail d'une commande",
                                       "Commande.getDetailCommande()");
            DetailCde dc   = new DetailCde();
            commandes comm = new commandes();

            try
            {
                comm          = this.RechercheUneCommande(no_cmd);
                dc.DetailCdes = (from a in unCommercial.articles
                                 from de in unCommercial.detail_cde
                                 where a.NO_ARTICLE == de.NO_ARTICLE &&
                                 de.NO_COMMAND == no_cmd
                                 select new DetailCde
                {
                    Art = a,
                    Qte_cdee = (int)de.QTE_CDEE,
                    Livree = de.LIVREE,
                    Total = (Double)(de.QTE_CDEE * a.PRIX_ART),
                }).ToList();
                dc.Com = comm;
                return(dc);
            }

            catch (MonException e)
            {
                throw new MonException(er.MessageUtilisateur(),
                                       er.MessageApplication(), e.Message);
            }
        }
예제 #8
0
        //permet de modifier une commande
        public void ModifierCommande(commandes uneC)
        {
            Serreurs er = new Serreurs("Erreur sur la modification d'une commande",
                                       "modifierCommande");
            // requête de sélection pour une mise à jour .

            var unecommande = from v in unCommercial.commandes
                              where v.NO_COMMAND == uneC.NO_COMMAND
                              select v;

            // On modifie les données
            foreach (commandes ligne in unecommande)
            {
                ligne.NO_COMMAND = uneC.NO_COMMAND;
                ligne.DATE_CDE   = uneC.DATE_CDE;
                ligne.NO_CLIENT  = uneC.NO_CLIENT;
                ligne.NO_VENDEUR = uneC.NO_VENDEUR;
                ligne.FACTURE    = uneC.FACTURE;
            }

            // On enregistre les modifications dans la base de données .
            try
            {
                unCommercial.SaveChanges();
            }
            catch (Exception e)
            {
                throw new MonException(er.MessageUtilisateur(),
                                       er.MessageApplication(), e.Message);
            }
        }
예제 #9
0
        /// <summary>
        /// Lister les commandes  par Vendeur de la base
        /// </summary>
        /// <returns>Liste de commandes</returns>
        public DataTable ListClientsParVendeur()
        {
            DataTable dt = new DataTable();
            Serreurs  er = new Serreurs("Erreur sur lecture du client.",
                                        "Clientel.LectureNoClient()");

            try

            {
                dt.Columns.Add("NO_COMMAND", typeof(String));
                dt.Columns.Add("DATE_CDE", typeof(DateTime));
                dt.Columns.Add("NOM_CL", typeof(String));
                dt.Columns.Add("SOCIETE", typeof(String));
                dt.Columns.Add("VILLE_CL", typeof(String));
                dt.Columns.Add("NOM_VEND", typeof(String));


                var req = from c  in unCommercial.commandes
                          join cl in unCommercial.clientel on c.NO_CLIENT equals cl.NO_CLIENT
                          join ve in unCommercial.vendeur on c.NO_VENDEUR equals ve.NO_VENDEUR
                          select new { c.NO_COMMAND, c.DATE_CDE, cl.NOM_CL, cl.SOCIETE, cl.VILLE_CL, ve.NOM_VEND };
                foreach (var res in req)
                {
                    dt.Rows.Add(res.NO_COMMAND, res.DATE_CDE, res.NOM_CL, res.SOCIETE, res.VILLE_CL, res.NOM_VEND);
                }
                return(dt);
            }
            catch (Exception e)
            {
                throw new MonException(er.MessageUtilisateur(),
                                       er.MessageApplication(), e.Message);
            }
        }
예제 #10
0
        /// <summary>
        /// Modifier un clent de la base
        /// </summary>
        /// <returns>modifier Client</returns>
        public void ModifierClient(clientel unC)
        {
            Serreurs er = new Serreurs("Erreur sur la modification d'un client",
                                       "modifierClient");
            // requête de sélection pour une mise à jour .

            var unclient = from c in unCommercial.clientel
                           where c.NO_CLIENT == unC.NO_CLIENT
                           select c;

            // On modifie les données
            foreach (clientel ligne  in unclient)
            {
                ligne.NOM_CL       = unC.NOM_CL;
                ligne.PRENOM_CL    = unC.PRENOM_CL;
                ligne.SOCIETE      = unC.SOCIETE;
                ligne.ADRESSE_CL   = unC.ADRESSE_CL;
                ligne.CODE_POST_CL = unC.CODE_POST_CL;
                ligne.VILLE_CL     = unC.VILLE_CL;
            }

            // On enregistre les modifications dans la base de données .
            try
            {
                unCommercial.SaveChanges();
            }
            catch (Exception e)
            {
                throw new MonException(er.MessageUtilisateur(),
                                       er.MessageApplication(), e.Message);
            }
        }
예제 #11
0
        public static void insertVendeur(Vendeur unVend)
        {
            Serreurs er      = new Serreurs("Erreur sur la création d'un vendeur.", "Vendeur.insert()");
            String   requete = "INSERT INTO vendeur (NO_VEND_CHEF_EQ, NOM_VEND, PRENOM_VEND, DATE_EMBAU, VILLE_VEND, SALAIRE_VEND, COMMISSION) VALUES " +
                               "(" + unVend.NoChef +
                               ",'" + unVend.NomVendeur + "'" +
                               ",'" + unVend.PrenomVendeur + "'" +
                               ",'" + unVend.DateEmbauche.ToString("yyyy/MM/dd") + "'" +
                               ",'" + unVend.VilleVendeur + "'" +
                               "," + unVend.Salaire.ToString().Replace(",", ".") +
                               "," + unVend.Commission.ToString().Replace(",", ".") + ")";

            try
            {
                DBInterface.Insertion_Donnees(requete);
            }
            catch (MonException erreur)
            {
                throw erreur;
            }
            catch (MySqlException e)
            {
                throw new MonException(er.MessageUtilisateur(), er.MessageApplication(), e.Message);
            }
        }
예제 #12
0
        /// <summary>
        /// mise à jour d'un vendeur sur son ID
        /// </summary>
        /// <param name="unVend">Vendeur à mettre à jour</param>
        public static void updateVendeur(Vendeur unVend)
        {
            Serreurs er      = new Serreurs("Erreur sur l'écriture d'un vendeur.", "Vendeur.update()");
            String   requete = "UPDATE vendeur SET " +
                               "NO_VEND_CHEF_EQ = " + unVend.NoChef +
                               ", NOM_VEND = '" + unVend.NomVendeur + "'" +
                               ", PRENOM_VEND = '" + unVend.PrenomVendeur + "'" +
                               ", DATE_EMBAU = '" + unVend.DateEmbauche.ToString("yyyy/MM/dd") + "'" +
                               ", VILLE_VEND = '" + unVend.VilleVendeur + "'" +
                               ", SALAIRE_VEND = " + unVend.Salaire.ToString().Replace(",", ".") +
                               ", COMMISSION = " + unVend.Commission.ToString().Replace(",", ".") +
                               " WHERE NO_VENDEUR = " + unVend.NoVendeur;

            try
            {
                DBInterface.Insertion_Donnees(requete);
            }
            catch (MonException erreur)
            {
                throw erreur;
            }
            catch (MySqlException e)
            {
                throw new MonException(er.MessageUtilisateur(), er.MessageApplication(), e.Message);
            }
        }