예제 #1
0
        public List <TypeUtilisateur> getAll()
        {
            List <TypeUtilisateur> listAll = new List <TypeUtilisateur>();

            conn = new DB().getConn();
            try
            {
                string query = "select * from type_user";
                cmd    = new NpgsqlCommand(query, conn);
                reader = cmd.ExecuteReader();
                while (reader.Read() == true)
                {
                    TypeUtilisateur typeUser = new TypeUtilisateur(reader.GetInt16(0), reader.GetString(1));
                    listAll.Add(typeUser);
                }
            }
            catch (Exception e)
            {
                throw new Exception("Erreur dans TypeUtilisateurDAO->getAll" + e.Message);
            }
            finally
            {
                conn.Close();
                reader.Close();
            }
            return(listAll);
        }
예제 #2
0
        public List <TypeUtilisateur> search(TypeUtilisateur typeUser)
        {
            conn = new DB().getConn();
            List <TypeUtilisateur> listAll = new List <TypeUtilisateur>();

            try
            {
                string query = "select * from type_user when ";
                if (typeUser.Libelle != null)
                {
                    query += "libelle =" + typeUser.Libelle;
                }


                cmd    = new NpgsqlCommand(query, conn);
                reader = cmd.ExecuteReader();
                while (reader.Read() == true)
                {
                    TypeUtilisateur tUser = new TypeUtilisateur(reader.GetInt16(0), reader.GetString(1));
                    listAll.Add(tUser);
                }
            }
            catch (Exception e)
            {
                throw new Exception("Erreur dans TypeEmployeDAO=>search " + e.Message);
            }
            finally
            {
                conn.Close();
                reader.Close();
            }
            return(listAll);
        }
예제 #3
0
        public TypeUtilisateur findById(int id)
        {
            conn = new DB().getConn();
            TypeUtilisateur typeUser = null;

            try
            {
                string query = "select * from type_user where id=" + id;
                cmd    = new NpgsqlCommand(query, conn);
                reader = cmd.ExecuteReader();
                if (reader.Read() == true)
                {
                    typeUser = new TypeUtilisateur(reader.GetInt16(0), reader.GetString(1));
                }
            }
            catch (Exception e)
            {
                throw new Exception("Erreur dans TypeUserDAO=>findBydId " + e.Message);
            }
            finally
            {
                conn.Close();
                reader.Close();
            }
            return(typeUser);
        }
예제 #4
0
 public Utilisateur(string nom, string prenom, string email, string mdp, TypeUtilisateur role)
 {
     Nom    = nom;
     Prenom = prenom;
     Email  = email;
     Mdp    = mdp;
     Role   = role;
 }
        private void Popup_AddModUser_Load_1(object sender, EventArgs e)
        {
            // si c'est une modification
            if (utilisateur.numUtilisateur != unNouvelUtilisateur.numUtilisateur)
            {
                TypeUtilisateur lesTypesUtilisateur = new TypeUtilisateur();
                comboBoxTypeUser.DataSource = lesTypesUtilisateur.GetLesTypesUtilisateur();

                foreach (TypeUtilisateur t in comboBoxTypeUser.Items)
                {
                    if (t.libelleTypeUtilisateur == utilisateur.typeUtilisateur.libelleTypeUtilisateur)
                    {
                        comboBoxTypeUser.SelectedItem = t;
                    }
                }

                textBoxLog.Text           = utilisateur.loginUtilisateur;
                textBoxCp.Text            = utilisateur.cpUtilisateur;
                textBoxEm.Text            = utilisateur.mailUtilisateur;
                textBoxNom.Text           = utilisateur.nomUtilisateur;
                textBoxPre.Text           = utilisateur.prenomUtilisateur;
                textBoxRue.Text           = utilisateur.adresseUtilisateur;
                textBoxTel.Text           = utilisateur.telUtilisateur;
                textBoxVille.Text         = utilisateur.villeUtilisateur;
                checkBoxChangeMdp.Visible = true;

                // si il est commercial
                if (utilisateur.typeUtilisateur.codeTypeUtilisateur == 3)
                {
                    labelAjouterPlanningPortefeuille.Visible = false;
                    radioButtonNon.Visible = false;
                    radioButtonOui.Visible = false;

                    if (utilisateur.planning != null)
                    {
                        textBoxPlanning.Visible = true;
                        labelPlanning.Visible   = true;
                        textBoxPlanning.Text    = utilisateur.planning.libellePlanning;
                    }
                    if (utilisateur.porteFeuille != null)
                    {
                        textBoxPortefeuille.Visible = true;
                        labelPortefeuille.Visible   = true;
                        textBoxPortefeuille.Text    = utilisateur.porteFeuille.libellePortefeuille;
                    }
                }
            }
            else
            {
                TypeUtilisateur lesTypesUtilisateur = new TypeUtilisateur();
                comboBoxTypeUser.DataSource = lesTypesUtilisateur.GetLesTypesUtilisateur();
            }
        }
예제 #6
0
        private void Popup_ModifUser_Load_1(object sender, EventArgs e)
        {
            TypeUtilisateur lesTypesUtilisateur = new TypeUtilisateur();

            comboBoxTypeUser.DataSource   = lesTypesUtilisateur.GetLesTypesUtilisateur();
            comboBoxTypeUser.SelectedItem = comboBoxTypeUser.Items[utilisateur.typeUtilisateur.codeTypeUtilisateur - 1];

            textBoxLog.Text   = utilisateur.loginUtilisateur;
            textBoxCp.Text    = utilisateur.cpUtilisateur;
            textBoxEm.Text    = utilisateur.mailUtilisateur;
            textBoxNom.Text   = utilisateur.nomUtilisateur;
            textBoxPre.Text   = utilisateur.prenomUtilisateur;
            textBoxRue.Text   = utilisateur.adresseUtilisateur;
            textBoxTel.Text   = utilisateur.telUtilisateur;
            textBoxVille.Text = utilisateur.villeUtilisateur;
        }
예제 #7
0
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            string          userR = filterContext.HttpContext.Session["TypeUtilisateur"].ToString();
            TypeUtilisateur role  = (TypeUtilisateur)Enum.Parse(typeof(TypeUtilisateur), userR);

            if (!authorizedRoles.Contains(role))
            {
                filterContext.Result = new RedirectToRouteResult(
                    new System.Web.Routing.RouteValueDictionary
                {
                    { "controller", "Home" },
                    { "action", "Unauthorized" }
                }
                    );
            }
        }
        private void comboBoxTypeUser_SelectedIndexChanged(object sender, EventArgs e)
        {
            TypeUtilisateur forCombobox = (TypeUtilisateur)comboBoxTypeUser.SelectedItem;

            if (forCombobox.codeTypeUtilisateur == 3)
            {
                labelAjouterPlanningPortefeuille.Visible = true;
                radioButtonNon.Visible = true;
                radioButtonOui.Visible = true;
            }
            else
            {
                labelAjouterPlanningPortefeuille.Visible = false;
                radioButtonNon.Visible = false;
                radioButtonNon.Visible = false;
            }
        }
예제 #9
0
 public void remove(TypeUtilisateur typeUser)
 {
     conn = new DB().getConn();
     try
     {
         string query = "delete * from type_user where id = " + typeUser.Id;
         cmd = new NpgsqlCommand(query, conn);
         cmd.ExecuteNonQuery();
     }
     catch (Exception e)
     {
         throw new Exception("Erreur dans TypeUtilisateurDAO=>remove " + e.Message);
     }
     finally
     {
         conn.Close();
     }
 }
예제 #10
0
 public void insert(TypeUtilisateur typeUser)
 {
     conn = new DB().getConn();
     try
     {
         string query = "insert into type_user (id,libelle) values (nextval('seq_type_user')," + typeUser.Libelle + ")";
         cmd = new NpgsqlCommand(query, conn);
         cmd.ExecuteNonQuery();
     }
     catch (Exception e)
     {
         throw new Exception("Erreur dans TypeUtilisateur=>insert" + e.Message);
     }
     finally
     {
         conn.Close();
     }
 }
예제 #11
0
 int Donner_IndexImage(TypeUtilisateur t)
 {
     if (t == TypeUtilisateur.DOSSIER)
     {
         return(1);
     }
     if (t == TypeUtilisateur.UTILISATEUR)
     {
         return(2);
     }
     if (t == TypeUtilisateur.PILOTE)
     {
         return(3);
     }
     if (t == TypeUtilisateur.ADMINISTRATEUR)
     {
         return(4);
     }
     return(0);
 }
예제 #12
0
        private void comboBoxTypeUser_SelectedIndexChanged(object sender, EventArgs e)
        {
            TypeUtilisateur forCombobox = (TypeUtilisateur)comboBoxTypeUser.SelectedItem;

            if (forCombobox.codeTypeUtilisateur == 3)
            {
                textBoxPortefeuille.Enabled = true;
                labelPortefeuille.Enabled   = true;
                if (utilisateur.porteFeuille != null)
                {
                    textBoxPortefeuille.Text = utilisateur.porteFeuille.libellePortefeuille;
                }
            }
            else
            {
                textBoxPortefeuille.Enabled = false;
                labelPortefeuille.Enabled   = false;
                textBoxPortefeuille.Text    = "";
            }
        }
        public static string ModifCompteJoueur(int id, string nomJoueur, string courriel, string prenom, string nom, TypeUtilisateur typeUtilisateur, string mdp)
        {
            ObjectParameter message = new ObjectParameter("message", typeof(string));

            using (HugoLANDContext context = new HugoLANDContext())
            {
                CompteJoueur result = context.CompteJoueurs.Find(id);
                result.NomJoueur       = nomJoueur;
                result.Courriel        = courriel;
                result.Prenom          = prenom;
                result.Nom             = nom;
                result.TypeUtilisateur = typeUtilisateur;
                context.SaveChanges();
                context.ChangerMdp(result.NomJoueur, mdp, message);
            }
            return((string)message.Value);
        }
예제 #14
0
        private void Popup_AddModUser_Load_1(object sender, EventArgs e)
        {
            TypeUtilisateur lesTypesUtilisateur = new TypeUtilisateur();

            // Si l'utilisateur à l'origine de l'action est gestionnaire, on affiche pas la combobox des types ni le checkbox change password
            if (isGestionnaire == true)
            {
                comboBoxTypeUser.Visible = false;
                labelTu.Visible          = false;
                labelAjouterPlanningPortefeuille.Visible = true;
                radioButtonNon.Visible = true;
                radioButtonOui.Visible = true;
            }
            else
            {
                comboBoxTypeUser.DataSource = lesTypesUtilisateur.GetLesTypesUtilisateur();

                if (utilisateur.typeUtilisateur != null)
                {
                    foreach (TypeUtilisateur t in comboBoxTypeUser.Items)
                    {
                        if (t.libelleTypeUtilisateur == utilisateur.typeUtilisateur.libelleTypeUtilisateur)
                        {
                            comboBoxTypeUser.SelectedItem = t;
                        }
                    }
                }
            }

            if (utilisateur.loginUtilisateur != null)
            {
                textBoxLog.Text = utilisateur.loginUtilisateur;
            }

            if (utilisateur.cpUtilisateur != null)
            {
                textBoxCp.Text = utilisateur.cpUtilisateur;
            }

            if (utilisateur.mailUtilisateur != null)
            {
                textBoxEm.Text = utilisateur.mailUtilisateur;
            }

            if (utilisateur.adresseUtilisateur != null)
            {
                textBoxRue.Text = utilisateur.adresseUtilisateur;
            }

            if (utilisateur.telUtilisateur != null)
            {
                textBoxTel.Text = utilisateur.telUtilisateur;
            }

            if (utilisateur.nomUtilisateur != null)
            {
                textBoxNom.Text = utilisateur.nomUtilisateur;
            }

            if (utilisateur.prenomUtilisateur != null)
            {
                textBoxPre.Text = utilisateur.prenomUtilisateur;
            }

            if (utilisateur.villeUtilisateur != null)
            {
                textBoxVille.Text = utilisateur.villeUtilisateur;
            }

            // Si c'est un ajout d'utilisateur on ne permet pas de modifier le mdp
            if (utilisateur.loginUtilisateur != null)
            {
                checkBoxChangeMdp.Visible = true;
            }
            if (utilisateur.typeUtilisateur != null)
            {
                // si il est commercial
                if (utilisateur.typeUtilisateur.codeTypeUtilisateur == 3)
                {
                    labelAjouterPlanningPortefeuille.Visible = false;
                    radioButtonNon.Visible = false;
                    radioButtonOui.Visible = false;

                    if (utilisateur.planning != null)
                    {
                        textBoxPlanning.Visible = true;
                        labelPlanning.Visible   = true;
                        textBoxPlanning.Text    = utilisateur.planning.libellePlanning;
                    }
                    if (utilisateur.porteFeuille != null)
                    {
                        textBoxPortefeuille.Visible = true;
                        labelPortefeuille.Visible   = true;
                        textBoxPortefeuille.Text    = utilisateur.porteFeuille.libellePortefeuille;
                    }
                }
            }
        }
예제 #15
0
        private void AjouterUtilisateur(TypeUtilisateur unTypeUtilisateur, string loginUtilisateur, string nomUtilisateur, string prenomUtilisateur, string mailUtilisateur, string telUtilisateur, string adresseUtilisateur,
                                        string villeUtilisateur, string cpUtilisateur, string libellePortefeuille, string libellePlanning, bool changePassword)
        {
            sessionFactory = new Configuration().Configure().BuildSessionFactory();
            ISession session = sessionFactory.OpenSession();

            string motdepasse = "";
            string erreur     = "";

            //     try
            //       {


            using (ITransaction transaction = session.BeginTransaction())
            {
                // Si l'action n'a pas été faite par un gestionnaire on gère le changement de type
                if (!isGestionnaire)
                {
                    // si c'est une modification
                    if (utilisateur.typeUtilisateur != null)
                    {
                        //S'il s'agit d'une modification en commercial
                        if (unTypeUtilisateur.codeTypeUtilisateur == 3 || utilisateur.typeUtilisateur.codeTypeUtilisateur == 3)
                        {
                            //si l'utilisateur n'etait pas un commercial avant
                            if (utilisateur.typeUtilisateur.codeTypeUtilisateur != 3)
                            {
                                Planning unNouveauPlanning = new Planning();
                                unNouveauPlanning.libellePlanning = libellePlanning;
                                unNouveauPlanning.utilisateur     = utilisateur;
                                session.SaveOrUpdate(unNouveauPlanning);

                                PorteFeuille unNouveauPortefeuille = new PorteFeuille();
                                unNouveauPortefeuille.libellePortefeuille = libellePortefeuille;
                                unNouveauPortefeuille.utilisateur         = utilisateur;
                                session.SaveOrUpdate(unNouveauPortefeuille);

                                utilisateur.planning     = unNouveauPlanning;
                                utilisateur.porteFeuille = unNouveauPortefeuille;
                                session.SaveOrUpdate(utilisateur);
                            }
                        }



                        //Après une migration d'un commercial vers un autre type, on supprime son affectation au planning et portefeuille
                        if (unTypeUtilisateur.codeTypeUtilisateur != 3 && utilisateur.typeUtilisateur.codeTypeUtilisateur == 3)
                        {
                            //On supprime l'idUtilisateur dans la table portefeuille et planning
                            utilisateur.porteFeuille.utilisateur = null;
                            utilisateur.planning.utilisateur     = null;

                            session.SaveOrUpdate(utilisateur.porteFeuille);
                            session.SaveOrUpdate(utilisateur.planning);


                            //On supprime l'idPortefeuille/idPlanning dans la table Utilsiateur
                            utilisateur.porteFeuille = null;
                            utilisateur.planning     = null;
                        }
                    }
                }


                // on affecter le type:

                // Si l'utilisateur qui a fait l'action est un gestionnaire on met le type à commercial
                // On associe le type du nouvel utilisateur à 3 (commercial)
                if (isGestionnaire == true)
                {
                    TypeUtilisateur typeUtilisateur = new TypeUtilisateur();

                    IList <TypeUtilisateur> lesTypesUtilisateurs = typeUtilisateur.GetLesTypesUtilisateur();

                    foreach (TypeUtilisateur type in lesTypesUtilisateurs)
                    {
                        if (type.codeTypeUtilisateur == 3)
                        {
                            utilisateur.typeUtilisateur = type;
                        }
                    }
                }
                // Sinon on renseigne le type  de la form de l'admin
                else
                {
                    utilisateur.typeUtilisateur = unTypeUtilisateur;
                }

                // On check si l'utilisateur existe, si non on crée un nouveau mdp par défaut.
                bool exist = session.QueryOver <Utilisateur>().Where(x => x.numUtilisateur == utilisateur.numUtilisateur).RowCount() > 0;
                if (!exist)
                {
                    changePassword = true;
                }

                if (changePassword == true)
                {
                    //-------------------- DEBUT BLOC GENERATION DU MOT DE PASSE DU NOUVEL UTILISATEUR--------------------------
                    //On génère un mot de passe aléatoire pour le nouvel Utilisateur
                    Random       random = new Random();
                    const string chars  = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
                    motdepasse = new string(Enumerable.Repeat(chars, 10).Select(s => s[random.Next(s.Length)]).ToArray());
                    // on converti la phrase random en md5
                    InterLogin pourMD5 = new InterLogin();
                    //on associe le mot de passe
                    utilisateur.passwordUtilisateur = pourMD5.MD5Hash(motdepasse);
                    //-------------------- FIN BLOC GENERATION DU MOT DE PASSE DU NOUVEL UTILISATEUR--------------------------
                }

                if (loginUtilisateur != null)
                {
                    utilisateur.loginUtilisateur = loginUtilisateur;
                }
                else
                {
                    erreur += "\nMerci d'entrer un login d'utilisateur";
                }
                if (nomUtilisateur != null)
                {
                    utilisateur.nomUtilisateur = nomUtilisateur;
                }
                else
                {
                    erreur += "\nMerci d'entrer un nom d'utilisateur";
                }
                if (prenomUtilisateur != null)
                {
                    utilisateur.prenomUtilisateur = prenomUtilisateur;
                }
                else
                {
                    erreur += "\nMerci d'entrer un prénom d'utilisateur";
                }
                if (mailUtilisateur != null)
                {
                    utilisateur.mailUtilisateur = mailUtilisateur;
                }
                else
                {
                    erreur += "\nMerci d'entrer un mail d'utilisateur";
                }
                if (telUtilisateur != null)
                {
                    utilisateur.telUtilisateur = telUtilisateur;
                }
                else
                {
                    erreur += "\nMerci d'entrer un numéro téléphone d'utilisateur";
                }
                if (adresseUtilisateur != null)
                {
                    utilisateur.adresseUtilisateur = adresseUtilisateur;
                }
                else
                {
                    erreur += "\nMerci d'entrer une adresse d'utilisateur";
                }
                if (villeUtilisateur != null)
                {
                    utilisateur.villeUtilisateur = villeUtilisateur;
                }
                else
                {
                    erreur += "\nMerci d'entrer une ville d'utilisateur";
                }
                if (cpUtilisateur != null)
                {
                    utilisateur.cpUtilisateur = cpUtilisateur;
                }
                else
                {
                    erreur += "\nMerci d'entrer un code postal d'utilisateur";
                }


                //S'il s'agit d'un commercial:
                if (utilisateur.typeUtilisateur.codeTypeUtilisateur == 3)
                {
                    // Si il s'agit d'un ajout
                    if (utilisateur.planning == null || utilisateur.porteFeuille == null)
                    {
                        unNouveauPlanning.libellePlanning         = libellePlanning;
                        unNouveauPortefeuille.libellePortefeuille = libellePortefeuille;

                        unNouveauPlanning.utilisateur     = utilisateur;
                        unNouveauPortefeuille.utilisateur = utilisateur;


                        utilisateur.planning     = unNouveauPlanning;
                        utilisateur.porteFeuille = unNouveauPortefeuille;


                        session.SaveOrUpdate(unNouveauPlanning);
                        session.SaveOrUpdate(unNouveauPortefeuille);
                    }
                    // Sinon si il s'agit d'une modification
                    else
                    {
                        utilisateur.planning.libellePlanning = libellePlanning;
                        session.SaveOrUpdate(utilisateur.planning);

                        utilisateur.porteFeuille.libellePortefeuille = libellePortefeuille;
                        session.SaveOrUpdate(utilisateur.porteFeuille);
                    }
                }


                session.SaveOrUpdate(utilisateur);
                transaction.Commit();
                session.Dispose();
            }

            try
            {
                // Une fois que tout fonctionne on envoie le MDP au mail du nouvel utilisateur
                MailMessage mail = new MailMessage();
                mail.Subject = "Nouvel accès à GEPEV!";
                mail.Body    = "Bienvenue " + utilisateur.nomUtilisateur + " " + utilisateur.prenomUtilisateur + "! Votre mot de passe est: " + motdepasse;
                mail.From    = new MailAddress("*****@*****.**");
                mail.To.Add(utilisateur.mailUtilisateur);

                SmtpClient client = new SmtpClient();
                client.Host = "localhost";
                client.Send(mail);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Erreur" + ex.Message);
            }
        }
예제 #16
0
 public Administrateur(string nom, string prenom, string email, string mdp, TypeUtilisateur role) : base(nom, prenom, email, mdp, role)
 {
 }
        private void AjouterUtilisateur(TypeUtilisateur unTypeUtilisateur, string loginUtilisateur, string nomUtilisateur, string prenomUtilisateur, string mailUtilisateur, string telUtilisateur, string adresseUtilisateur,
                                        string villeUtilisateur, string cpUtilisateur, string libellePortefeuille, string libellePlanning, bool changePassword)
        {
            sessionFactory = new Configuration().Configure().BuildSessionFactory();
            ISession session = sessionFactory.OpenSession();

            string motdepasse = "";
            string erreur     = "";

            //     try
            //       {
            // si il s'agit d'une modification
            if (utilisateur.numUtilisateur != unNouvelUtilisateur.numUtilisateur)
            {
                using (ITransaction transaction = session.BeginTransaction())
                {
                    unNouvelUtilisateur = utilisateur;

                    //S'il s'agit d'une modification en commercial
                    if (unTypeUtilisateur.codeTypeUtilisateur == 3)
                    {
                        //si l'utilisateur n'etait pas un commercial avant
                        if (unNouvelUtilisateur.typeUtilisateur.codeTypeUtilisateur != 3)
                        {
                            Planning unNouveauPlanning = new Planning();
                            unNouveauPlanning.libellePlanning = libellePlanning;
                            unNouveauPlanning.utilisateur     = unNouvelUtilisateur;
                            session.SaveOrUpdate(unNouveauPlanning);

                            PorteFeuille unNouveauPortefeuille = new PorteFeuille();
                            unNouveauPortefeuille.libellePortefeuille = libellePortefeuille;
                            unNouveauPortefeuille.utilisateur         = unNouvelUtilisateur;
                            session.SaveOrUpdate(unNouveauPortefeuille);

                            unNouvelUtilisateur.planning     = unNouveauPlanning;
                            unNouvelUtilisateur.porteFeuille = unNouveauPortefeuille;
                            session.SaveOrUpdate(unNouvelUtilisateur);
                        }
                        // sinon si il etait commercial
                        else
                        {
                            Planning unNouveauPlanning = unNouvelUtilisateur.planning;
                            unNouveauPlanning.libellePlanning = libellePlanning;
                            session.SaveOrUpdate(unNouveauPlanning);

                            PorteFeuille unNouveauPortefeuille = unNouvelUtilisateur.porteFeuille;
                            unNouveauPortefeuille.libellePortefeuille = libellePortefeuille;
                            session.SaveOrUpdate(unNouveauPortefeuille);
                        }
                    }
                    else if (unTypeUtilisateur.codeTypeUtilisateur == 3 && libellePortefeuille == "" || libellePlanning == "")
                    {
                        erreur += "\nMerci de rentrer un nom de portefeuille/planning";
                    }

                    //Après une migration d'un commercial vers un autre type, on supprime son affectation au planning et portefeuille
                    else if (unTypeUtilisateur.codeTypeUtilisateur != 3)
                    {
                        //On supprime l'idUtilisateur dans la table portefeuille et planning
                        PorteFeuille portefeuille = unNouvelUtilisateur.porteFeuille;
                        Planning     planning     = utilisateur.planning;
                        portefeuille.utilisateur = null;
                        planning.utilisateur     = null;

                        session.SaveOrUpdate(portefeuille);
                        session.SaveOrUpdate(planning);


                        //On supprime l'idPortefeuille/idPlanning dans la table Utilsiateur
                        unNouvelUtilisateur.porteFeuille = null;
                        unNouvelUtilisateur.planning     = null;
                    }
                    //Une fois tous les tests bons, on peut affecter le type:
                    unNouvelUtilisateur.typeUtilisateur = unTypeUtilisateur;



                    if (changePassword == true)
                    {
                        //-------------------- DEBUT BLOC GENERATION DU MOT DE PASSE DU NOUVEL UTILISATEUR--------------------------
                        //On génère un mot de passe aléatoire pour le nouvel Utilisateur
                        Random       random = new Random();
                        const string chars  = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
                        motdepasse = new string(Enumerable.Repeat(chars, 10).Select(s => s[random.Next(s.Length)]).ToArray());
                        // on converti la phrase random en md5
                        InterLogin pourMD5 = new InterLogin();
                        //on associe le mot de passe
                        unNouvelUtilisateur.passwordUtilisateur = pourMD5.MD5Hash(motdepasse);
                        //-------------------- FIN BLOC GENERATION DU MOT DE PASSE DU NOUVEL UTILISATEUR--------------------------
                    }
                    session.SaveOrUpdate(unNouvelUtilisateur);
                    transaction.Commit();
                    session.Dispose();
                }
            }
            // Sinon si il s'agit d'un ajout
            else
            {
                using (ITransaction transaction = session.BeginTransaction())
                {
                    unNouvelUtilisateur.typeUtilisateur = unTypeUtilisateur;
                    if (loginUtilisateur != null)
                    {
                        unNouvelUtilisateur.loginUtilisateur = loginUtilisateur;
                    }
                    else
                    {
                        erreur += "\nMerci d'entrer un login d'utilisateur";
                    }
                    if (nomUtilisateur != null)
                    {
                        unNouvelUtilisateur.nomUtilisateur = nomUtilisateur;
                    }
                    else
                    {
                        erreur += "\nMerci d'entrer un nom d'utilisateur";
                    }
                    if (prenomUtilisateur != null)
                    {
                        unNouvelUtilisateur.prenomUtilisateur = prenomUtilisateur;
                    }
                    else
                    {
                        erreur += "\nMerci d'entrer un prénom d'utilisateur";
                    }
                    if (mailUtilisateur != null)
                    {
                        unNouvelUtilisateur.mailUtilisateur = mailUtilisateur;
                    }
                    else
                    {
                        erreur += "\nMerci d'entrer un mail d'utilisateur";
                    }
                    if (telUtilisateur != null)
                    {
                        unNouvelUtilisateur.telUtilisateur = telUtilisateur;
                    }
                    else
                    {
                        erreur += "\nMerci d'entrer un numéro téléphone d'utilisateur";
                    }
                    if (adresseUtilisateur != null)
                    {
                        unNouvelUtilisateur.adresseUtilisateur = adresseUtilisateur;
                    }
                    else
                    {
                        erreur += "\nMerci d'entrer une adresse d'utilisateur";
                    }
                    if (villeUtilisateur != null)
                    {
                        unNouvelUtilisateur.villeUtilisateur = villeUtilisateur;
                    }
                    else
                    {
                        erreur += "\nMerci d'entrer une ville d'utilisateur";
                    }
                    if (cpUtilisateur != null)
                    {
                        unNouvelUtilisateur.cpUtilisateur = cpUtilisateur;
                    }
                    else
                    {
                        erreur += "\nMerci d'entrer un code postal d'utilisateur";
                    }

                    //-------------------- DEBUT BLOC GENERATION DU MOT DE PASSE DU NOUVEL UTILISATEUR--------------------------
                    //On génère un mot de passe aléatoire pour le nouvel Utilisateur
                    Random       random = new Random();
                    const string chars  = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
                    motdepasse = new string(Enumerable.Repeat(chars, 10).Select(s => s[random.Next(s.Length)]).ToArray());
                    // on converti la phrase random en md5
                    InterLogin pourMD5 = new InterLogin();
                    //on associe le mot de passe
                    unNouvelUtilisateur.passwordUtilisateur = pourMD5.MD5Hash(motdepasse);
                    //-------------------- FIN BLOC GENERATION DU MOT DE PASSE DU NOUVEL UTILISATEUR--------------------------
                    //S'il s'agit d'un commercial:
                    if (unNouvelUtilisateur.typeUtilisateur.codeTypeUtilisateur == 3 && (libellePlanning != null || libellePortefeuille != null))
                    {
                        unNouveauPlanning.libellePlanning         = libellePlanning;
                        unNouveauPortefeuille.libellePortefeuille = libellePortefeuille;

                        unNouveauPlanning.utilisateur     = unNouvelUtilisateur;
                        unNouveauPortefeuille.utilisateur = unNouvelUtilisateur;


                        unNouvelUtilisateur.planning     = unNouveauPlanning;
                        unNouvelUtilisateur.porteFeuille = unNouveauPortefeuille;


                        session.SaveOrUpdate(unNouvelUtilisateur);
                        session.SaveOrUpdate(unNouveauPlanning);
                        session.SaveOrUpdate(unNouveauPortefeuille);
                    }
                    else
                    {
                        //On sauvegarde le nouvel utilisateur
                        session.SaveOrUpdate(unNouvelUtilisateur);
                    }

                    transaction.Commit();
                    session.Dispose();
                }
            }
            //     }
            //       catch (Exception ex)
            //    {
            //        MessageBox.Show(ex.Message+erreur);
            //     }

            try{
                // Une fois que tout fonctionne on envoie le MDP au mail du nouvel utilisateur
                MailMessage mail = new MailMessage();
                mail.Subject = "Nouvel accès à GEPEV!";
                mail.Body    = "Bienvenue " + unNouvelUtilisateur.nomUtilisateur + " " + unNouvelUtilisateur.prenomUtilisateur + "! Votre mot de passe est: " + motdepasse;
                mail.From    = new MailAddress("*****@*****.**");
                mail.To.Add(unNouvelUtilisateur.mailUtilisateur);

                SmtpClient client = new SmtpClient();
                client.Host = "localhost";
                client.Send(mail);
            }catch (Exception ex) {
                MessageBox.Show("Erreur" + ex.Message);
            }
        }
예제 #18
0
        static string Modifier(TypeUtilisateur unTypeUtilisateur, string loginUtilisateur, string nomUtilisateur, string prenomUtilisateur,
                               string mailUtilisateur, string telUtilisateur, string adresseUtilisateur, string villeUtilisateur, string cpUtilisateur, string libellePortefeuille,
                               Utilisateur utilisateur, bool changePassword)
        {
            string motdepasse = "reste le même.";

            sessionFactory = new Configuration().Configure().BuildSessionFactory();
            ISession session = sessionFactory.OpenSession();

            using (ITransaction transaction = session.BeginTransaction())
            {
                if (loginUtilisateur != null)
                {
                    utilisateur.loginUtilisateur = loginUtilisateur;
                }
                else
                {
                    return("Merci d'entrer un login d'utilisateur");
                }
                if (nomUtilisateur != null)
                {
                    utilisateur.nomUtilisateur = nomUtilisateur;
                }
                else
                {
                    return("Merci d'entrer un nom d'utilisateur");
                }
                if (prenomUtilisateur != null)
                {
                    utilisateur.prenomUtilisateur = prenomUtilisateur;
                }
                else
                {
                    return("Merci d'entrer un prénom d'utilisateur");
                }
                if (mailUtilisateur != null)
                {
                    utilisateur.mailUtilisateur = mailUtilisateur;
                }
                else
                {
                    return("Merci d'entrer un mail d'utilisateur");
                }
                if (telUtilisateur != null)
                {
                    utilisateur.telUtilisateur = telUtilisateur;
                }
                else
                {
                    return("Merci d'entrer un numéro téléphone d'utilisateur");
                }
                if (adresseUtilisateur != null)
                {
                    utilisateur.adresseUtilisateur = adresseUtilisateur;
                }
                else
                {
                    return("Merci d'entrer une adresse d'utilisateur");
                }
                if (villeUtilisateur != null)
                {
                    utilisateur.villeUtilisateur = villeUtilisateur;
                }
                else
                {
                    return("Merci d'entrer une ville d'utilisateur");
                }
                if (cpUtilisateur != null)
                {
                    utilisateur.cpUtilisateur = cpUtilisateur;
                }
                else
                {
                    return("Merci d'entrer un code postal d'utilisateur");
                }

                //S'il s'agit d'une modifcation pour commercial
                if (unTypeUtilisateur.codeTypeUtilisateur == 3 && libellePortefeuille != "")
                {
                    //si l'utilisateur n'etait pas un commercial avant
                    if (utilisateur.typeUtilisateur.codeTypeUtilisateur != 3)
                    {
                        Planning     unNouveauPlanning     = new Planning();
                        PorteFeuille unNouveauPortefeuille = new PorteFeuille();
                        unNouveauPlanning.utilisateur             = utilisateur;
                        unNouveauPortefeuille.utilisateur         = utilisateur;
                        unNouveauPortefeuille.libellePortefeuille = libellePortefeuille;

                        utilisateur.planning     = unNouveauPlanning;
                        utilisateur.porteFeuille = unNouveauPortefeuille;
                    }
                    else
                    {
                        utilisateur.porteFeuille.libellePortefeuille = libellePortefeuille;
                    }
                }
                else if (unTypeUtilisateur.codeTypeUtilisateur == 3 && libellePortefeuille == "")
                {
                    return("Merci de rentrer un nom de portefeuille");
                }

                //Après une migration d'un commercial vers un autre type, on supprime son affectation au planning et portefeuille
                else if (unTypeUtilisateur.codeTypeUtilisateur != 3)
                {
                    //On supprime l'idUtilisateur dans la table portefeuille
                    PorteFeuille portefeuille = utilisateur.porteFeuille;
                    portefeuille.utilisateur = null;

                    session.SaveOrUpdate(portefeuille);

                    //On supprime l'idUtilisateur dans la table planing
                    Planning planing = utilisateur.planning;
                    planing.utilisateur = null;

                    session.SaveOrUpdate(planing);

                    //On supprime l'idPortefeuille/idPlanning dans la table Utilsiateur
                    utilisateur.porteFeuille = null;
                    utilisateur.planning     = null;
                }
                //Une fois tous les tests bons, on peut affecter le type:
                utilisateur.typeUtilisateur = unTypeUtilisateur;

                if (changePassword == true)
                {
                    //-------------------- DEBUT BLOC GENERATION DU MOT DE PASSE DU NOUVEL UTILISATEUR--------------------------
                    //On génère un mot de passe aléatoire pour le nouvel Utilisateur
                    Random       random = new Random();
                    const string chars  = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
                    motdepasse = new string(Enumerable.Repeat(chars, 10).Select(s => s[random.Next(s.Length)]).ToArray());
                    // on converti la phrase random en md5
                    InterLogin pourMD5 = new InterLogin();
                    //on associe le mot de passe
                    utilisateur.passwordUtilisateur = pourMD5.MD5Hash(motdepasse);
                    //-------------------- FIN BLOC GENERATION DU MOT DE PASSE DU NOUVEL UTILISATEUR--------------------------
                }
                session.SaveOrUpdate(utilisateur);
                transaction.Commit();
                session.Dispose();
            }



            // Une fois que tous les tests sont validés on envoie le MDP au mail du nouvel utilisateur
            MailMessage mail = new MailMessage();

            mail.Subject = "Utilisateur modifié!";
            mail.Body    = "Votre utilisateur a été modifié par l'administrateur" + utilisateur.nomUtilisateur + " " + utilisateur.prenomUtilisateur +
                           "! Votre mot de passe " + motdepasse;
            mail.From = new MailAddress("*****@*****.**");
            mail.To.Add(utilisateur.mailUtilisateur);

            SmtpClient client = new SmtpClient();

            client.Host = "localhost";
            client.Send(mail);

            return("L'utilisateur a été modifié, un email lui a été envoyé.");
        }
예제 #19
0
 public void SetTypeUtilisateur(TypeUtilisateur unTypeUtilisateur)
 {
     typeUtilisateur = unTypeUtilisateur;
 }
예제 #20
0
        private void Popup_ModifUser_Load(object sender, EventArgs e)
        {
            TypeUtilisateur lesTypesUtilisateur = new TypeUtilisateur();

            comboBoxTypeUser.DataSource = lesTypesUtilisateur.GetLesTypesUtilisateur();
        }
예제 #21
0
 public UpdateDatabaseAdmin(TypeUtilisateur typeUtilisateur)
 {
     this.typeUtilisateur = typeUtilisateur;
 }
예제 #22
0
        /// <summary>
        /// Méthode permettant d'ajouter un utilisateur à la liste des utilisateurs de l'application (lors de l'inscription d'un utilisateur).
        /// </summary>
        /// <param name="mail">Mail de l'utilisateur</param>
        /// <param name="motDePasse">Mot de passe de l'utilisateur</param>
        /// <param name="nom">Nom de l'utilisateur</param>
        /// <param name="prenom">Prénom de l'utilisateur</param>
        /// <param name="type">Type de l'utilisateur</param>
        /// <returns>string: Identifiant de l'utilisateur créé</returns>
        public string AjouterUtilisateur(string mail, string motDePasse, string nom, string prenom, TypeUtilisateur type, ICollection <Telephone> telephones, Lieu lieu, Civilite civilite, string otherInfo)
        {
            var param = new Parametre();

            Parametres.Add(param);

            Lieux.Add(lieu);
            SaveChanges();

            var user = new Utilisateur(mail, motDePasse, nom, prenom, telephones, type, lieu, civilite, param, otherInfo);

            Utilisateurs.Add(user);
            SaveChanges();

            Telephones.AddRange(telephones);
            SaveChanges();

            return(user.ID);
        }
예제 #23
0
        ///// <param name="prenom">Prénom de l'utilisateur</param>
        ///// <param name="nom">Nom de l'utilisateur</param>
        ///// <param name="type">Type d'utilisateur</param>


        /// <summary>
        /// Constructeur d'un Utilisateur prenant son adresse e-mail, mot de passe, nom, prénom, type.
        /// </summary>
        /// <param name="identifiant">Identifiant de l'utilisateur (son adresse mail)</param>
        /// <param name="motDePasse">Mot de passe de l'utilisateur</param>
        /// <param name="prenom">Prénom de l'utilisateur</param>
        /// <param name="nom">Nom de l'utilisateur</param>
        /// <param name="type">Type de l'utilisateur</param>
        public Utilisateur(string identifiant, string motDePasse, string nom, string prenom, ICollection <Telephone> telephones, TypeUtilisateur type, Lieu lieu, Civilite civilite, Parametre parametre, string otherInfo)
        {
            this.ID         = identifiant;
            this.MotDePasse = motDePasse.GetHashCode();
            this.Prénom     = prenom;
            this.Nom        = nom;
            this.Type       = type;
            this.LieuID     = lieu.ID;
            this.Civilite   = civilite;
            this.OtherInfo  = otherInfo;
            this.Telephones = telephones;

            this.ParametreID = parametre.ID;
            parametre.DefaultTextFeedback += $"{prenom} {nom}";
        }