Esempio n. 1
0
        /// <summary>
        /// Permet d'ajouter un nouvel utilisateur en base de données
        /// </summary>
        /// <param name="nom">Le nom du nouvel utilisateur</param>
        /// <param name="prenom">Le prénom du nouvel utilisateur</param>
        /// <param name="email">L'email du nouvel utilisateur</param>
        /// <param name="login">Le login du nouvel utilisateur</param>
        /// <param name="motdepasse">Le mot de passe du nouvel utilisateur</param>
        /// <returns>L'utilisateur ajouté</returns>
        public BEUtilisateur AjouterUtilisateur(string nom, string prenom, string email, string login, string motdepasse)
        {
            UtilisateurDao utilisateurDao = new UtilisateurDao();

            //on va verifier que l'utilisateur n'existe pas déjà

            //on verifie l'email
            if (utilisateurDao.AdresseEmailExisteDeja(email) == true)
            {
                throw new ArgumentException("L'adresse mail existe déjà.", "email");
            }
            //on verifie le login
            if (utilisateurDao.LoginExisteDeja(login) == true)
            {
                throw new ArgumentException("Le login existe déjà.", "email");
            }
            //on ajoute
            BEUtilisateur utilisateur = null;

            try
            {
                utilisateur = utilisateurDao.AjouterUtilisateur(nom, prenom, email, login, motdepasse);
                if (utilisateur == null)
                {
                    throw new Exception("L'utilisateur est null.");
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Une erreur est survenue lors de l'enregistrement.", ex);
            }

            //on retourne
            return(utilisateur);
        }
Esempio n. 2
0
        private void ExecuteSeConnecter(object o)
        {
            ErrorMessage = null;
            UtilisateurService utilisateurService = new UtilisateurService();

            try
            {
                BEUtilisateur utilisateur = utilisateurService.Authentification(this.Login, this.Password);
                if (utilisateur != null)
                {
                    UtilisateurMV utilisateurConnecte = new UtilisateurMV()
                    {
                        Id     = utilisateur.Id,
                        Email  = utilisateur.Email,
                        Login  = utilisateur.Login,
                        Nom    = utilisateur.Nom,
                        Prenom = utilisateur.Prenom
                    };
                    this.UtilisateurConnecte = utilisateurConnecte;
                }
            }
            catch (Exception ex)
            {
                ErrorMessage = ex.Message;
            }
        }
Esempio n. 3
0
        public BECategory ModifierCategory(int idCat, string nom, bool pardef, int idUser)
        {
            if (string.IsNullOrWhiteSpace(nom))
            {
                throw new ArgumentException("Veuillez renseigner la category.", "nom");
            }

            using (TodoListUCBLEntities context = new TodoListUCBLEntities())
            {
                Category c = context.CategorySet.FirstOrDefault(cat => cat.Id == idCat);
                if (nom != c.Nom)
                {
                    c.Nom = nom;
                }
                if (pardef != c.ParDefaut)
                {
                    if (context.CategorySet.Include("Utilisateur").Where(cat => cat.Utilisateur.Id == idUser).ToList().Count() == 1)
                    {
                        c.ParDefaut = true;
                    }
                    else
                    {
                        c.ParDefaut = pardef;
                    }
                }

                List <Category> LastCateg = context.CategorySet.Include("Taches").Where(cc => cc.Utilisateur.Id == idUser && cc.ParDefaut == true).ToList();

                if (LastCateg.Count() == 1)
                {
                    Category categ = context.CategorySet.First(nomdevariabletrèschiantadefinirsansconflit => nomdevariabletrèschiantadefinirsansconflit.Utilisateur.Id == idUser && nomdevariabletrèschiantadefinirsansconflit.ParDefaut == false);
                    categ.ParDefaut = true;
                }

                context.SaveChanges();

                BECategory retour = new BECategory();
                retour.Id        = c.Id;
                retour.Nom       = c.Nom;
                retour.ParDefaut = c.ParDefaut;

                Utilisateur u = context.UtilisateurSet.FirstOrDefault(us => us.Id == idUser);

                BEUtilisateur user = new BEUtilisateur();
                user.Id       = u.Id;
                user.Login    = u.Login;
                user.Nom      = u.Nom;
                user.Password = u.Password;
                user.Prenom   = u.Prenom;
                user.Email    = u.Email;

                retour.Utilisateur = user;

                return(retour);
            }
        }
Esempio n. 4
0
        public List <BETache> getTaches(int idUser)
        {
            using (TodoListUCBLEntities context = new TodoListUCBLEntities())
            {
                //Récup de l'utilisateur pour toute la suite
                Utilisateur   userBD = context.UtilisateurSet.First(u => u.Id == idUser);
                BEUtilisateur user   = new BEUtilisateur();
                user.Id       = userBD.Id;
                user.Login    = userBD.Login;
                user.Nom      = userBD.Nom;
                user.Password = userBD.Password;
                user.Prenom   = userBD.Prenom;
                user.Email    = userBD.Email;

                //Récup de la liste des tâches liées a l'utilisateur
                List <BETache> retour = new List <BETache>();
                List <Tache>   list   = context.TacheSet.Include("Categories").Include("Utilisateur").Include("Etat").Where(c => c.Utilisateur.Id == idUser).ToList();

                foreach (Tache t in list)
                {
                    BETache tach = new BETache();
                    tach.Id     = t.Id;
                    tach.Nom    = t.Nom;
                    tach.Debut  = t.Debut;
                    tach.Fin    = t.Fin;
                    tach.Detail = t.Detail;

                    foreach (Category c in t.Categories)
                    {
                        BECategory cat = new BECategory();
                        cat.Id          = c.Id;
                        cat.Nom         = c.Nom;
                        cat.ParDefaut   = c.ParDefaut;
                        cat.Utilisateur = user;

                        tach.Categories.Add(cat);
                    }

                    tach.Utilisateur = user;

                    BEEtat et = new BEEtat();
                    et.Id      = t.Etat.Id;
                    et.Libelle = t.Etat.Libelle;
                    et.Code    = t.Etat.Code;

                    tach.Etat = et;

                    retour.Add(tach);
                }

                return(retour);
            }
        }
Esempio n. 5
0
        private void ExecuteValiderInscription(object o)
        {
            UtilisateurService utilisateurService = new UtilisateurService();

            try
            {
                BEUtilisateur utilisateurAjoutée = utilisateurService.AjouterUtilisateur(this.NouvelUtilisateur.Nom, this.NouvelUtilisateur.Prenom, this.NouvelUtilisateur.Email, this.NouvelUtilisateur.Login, this.NouvelUtilisateur.Password);

                this.NouvelUtilisateur = null;
            }
            catch (Exception ex)
            {
                this.ErrorMessage = "Une erreur est survenue lors de l'inscription : " + ex.Message;
            }
        }
Esempio n. 6
0
        public BECategory AjouterCategory(int idUser, string nom, bool pardefaut)
        {
            if (string.IsNullOrWhiteSpace(nom))
            {
                throw new ArgumentException("Veuillez renseigner la category.", "nom");
            }

            using (TodoListUCBLEntities context = new TodoListUCBLEntities())
            {
                Category c = new Category();
                c.Nom = nom;
                if (context.CategorySet.Include("Utilisateur").Where(cat => cat.Utilisateur.Id == idUser).ToList().Count() == 0)
                {
                    c.ParDefaut = true;
                }
                else
                {
                    c.ParDefaut = pardefaut;
                }

                c.Utilisateur = context.UtilisateurSet.First(u => u.Id == idUser);

                context.CategorySet.Add(c);

                context.SaveChanges();

                BECategory retour = new BECategory();

                retour.Id        = c.Id;
                retour.Nom       = c.Nom;
                retour.ParDefaut = c.ParDefaut;

                BEUtilisateur user = new BEUtilisateur();
                user.Email         = c.Utilisateur.Email;
                user.Id            = c.Utilisateur.Id;
                user.Login         = c.Utilisateur.Login;
                user.Password      = c.Utilisateur.Password;
                user.Prenom        = c.Utilisateur.Prenom;
                retour.Utilisateur = user;

                return(retour);
            }
        }
Esempio n. 7
0
        /// <summary>
        /// Permet d'ajouter un nouvel utilisateur
        /// </summary>
        /// <param name="nom">Le nom du nouvel utilisateur</param>
        /// <param name="prenom">Le prénom du nouvel utilisateur</param>
        /// <param name="email">L'email du nouvel utilisateur</param>
        /// <param name="login">Le login du nouvel utilisateur</param>
        /// <param name="motdepasse">Le mot de passe du nouvel utilisateur</param>
        /// <returns>L'utilisateur ajouté</returns>
        public BEUtilisateur AjouterUtilisateur(string nom, string prenom, string email, string login, string motdepasse)
        {
            //première étape : On verifie les données
            if (string.IsNullOrWhiteSpace(login) == true)
            {
                throw new ArgumentException("Veuillez renseigner le login.", "login");
            }
            if (string.IsNullOrWhiteSpace(motdepasse) == true)
            {
                throw new ArgumentException("Le mot de passe est obligatoire.", "motdepasse");
            }

            //deuxième étape enregistrement

            using (TodoListUCBLEntities context = new TodoListUCBLEntities())
            {
                Utilisateur u = new Utilisateur();
                u.Nom      = nom;
                u.Prenom   = prenom;
                u.Email    = email;
                u.Login    = login;
                u.Password = motdepasse;

                context.UtilisateurSet.Add(u);

                context.SaveChanges();

                //3eme etape on retourne
                BEUtilisateur ret = new BEUtilisateur();


                ret.Id     = u.Id;
                ret.Nom    = u.Nom;
                ret.Prenom = u.Prenom;
                ret.Email  = u.Email;
                ret.Login  = u.Login;
                //sensible on fait en sorte qu'il ne parte jamais d'ici
                ret.Password = null;

                return(ret);
            }
        }
Esempio n. 8
0
        /// <summary>
        /// Permet de récupérer un utilisateur si les infos de connexion sont correctes
        /// </summary>
        /// <param name="login">Le login</param>
        /// <param name="password">Le mot de passe</param>
        /// <returns>L'utilisateur si celui-ci est authentifié</returns>
        public BEUtilisateur Authentification(string login, string motdepasse)
        {
            UtilisateurDao utilisateurDao = new UtilisateurDao();
            BEUtilisateur  utilisateur    = null;

            try
            {
                utilisateur = utilisateurDao.Authentification(login, motdepasse);
            }
            catch (Exception ex)
            {
                throw new Exception("Une erreur est survenue lors de l'authentification.", ex);
            }

            if (utilisateur == null)
            {
                throw new Exception("L'utilisateur n'existe pas.");
            }
            return(utilisateur);
        }
Esempio n. 9
0
        public List <BECategory> GetCategories(int idUser)
        {
            using (TodoListUCBLEntities context = new TodoListUCBLEntities())
            {
                Utilisateur   userBD = context.UtilisateurSet.First(us => us.Id == idUser);
                BEUtilisateur user   = new BEUtilisateur();
                user.Id       = userBD.Id;
                user.Login    = userBD.Login;
                user.Nom      = userBD.Nom;
                user.Password = userBD.Password;
                user.Prenom   = userBD.Prenom;
                user.Email    = userBD.Email;

                List <BECategory> retour = new List <BECategory>();
                List <Category>   list   = context.CategorySet.Include("Utilisateur").Include("Taches").Where(c => c.Utilisateur.Id == idUser).ToList();

                foreach (Category c in list)
                {
                    BECategory cat = new BECategory();
                    cat.Id          = c.Id;
                    cat.Nom         = c.Nom;
                    cat.ParDefaut   = c.ParDefaut;
                    cat.Utilisateur = user;

                    foreach (Tache t in c.Taches)
                    {
                        BETache tache = new BETache();
                        tache.Id     = t.Id;
                        tache.Nom    = t.Nom;
                        tache.Debut  = t.Debut;
                        tache.Fin    = t.Fin;
                        tache.Detail = t.Detail;

                        cat.Taches.Add(tache);
                    }

                    retour.Add(cat);
                }
                return(retour);
            }
        }
Esempio n. 10
0
        /// <summary>
        /// Permet de récupérer un utilisateur si les infos de connexion sont correctes
        /// </summary>
        /// <param name="login">Le login</param>
        /// <param name="password">Le mot de passe</param>
        /// <returns>L'utilisateur si celui-ci est authentifié</returns>
        public BEUtilisateur Authentification(string login, string password)
        {
            using (TodoListUCBLEntities context = new TodoListUCBLEntities())
            {
                //on requete
                Utilisateur user = context.UtilisateurSet.FirstOrDefault(u => u.Login == login && u.Password == password);

                //on retourne
                BEUtilisateur ret = null;
                if (user != null)
                {
                    ret        = new BEUtilisateur();
                    ret.Id     = user.Id;
                    ret.Nom    = user.Nom;
                    ret.Prenom = user.Prenom;
                    ret.Email  = user.Email;
                    ret.Login  = user.Login;
                    //sensible on fait en sorte qu'il ne parte jamais d'ici
                    ret.Password = null;
                }

                return(ret);
            }
        }
Esempio n. 11
0
        public BETache modifierTache(int id, string nom, string detail, DateTime debut, DateTime fin, int idUser, List <BECategory> categories, BEEtat statement)
        {
            //Contrôle
            if (string.IsNullOrWhiteSpace(nom))
            {
                throw new ArgumentException("Veuillez renseigner le nom de la tache.", "nom");
            }
            if (string.IsNullOrWhiteSpace(detail))
            {
                throw new ArgumentException("Veuillez renseigner le detail de la tache.", "detail");
            }
            if (fin < debut)
            {
                throw new ArgumentException("Veuillez renseigner une date de fin valide.", "fin");
            }

            //Enregistrement
            using (TodoListUCBLEntities context = new TodoListUCBLEntities())
            {
                Tache t = context.TacheSet.Include("Categories").Include("Utilisateur").Include("Etat").FirstOrDefault(p => p.Id == id);
                //Contrôle de modification
                if (nom != t.Nom)
                {
                    t.Nom = nom;
                }
                if (detail != t.Detail)
                {
                    t.Detail = detail;
                }
                if (debut != t.Debut)
                {
                    t.Debut = debut;
                }
                if (fin != t.Fin)
                {
                    t.Fin = fin;
                }

                t.Etat = context.EtatSet.First(e => e.Id == statement.Id);

                //On supprime les liens entre la tache et ses categories
                foreach (Category c in t.Categories)
                {
                    c.Taches.Remove(t);
                }
                t.Categories.Clear();

                //On recréer les liens avec les nouvelles catégories
                foreach (BECategory c in categories)
                {
                    t.Categories.Add(context.CategorySet.First(cat => cat.Id == c.Id));
                    Category categ = context.CategorySet.First(cat => cat.Id == c.Id);
                    categ.Taches.Add(t);
                }

                if (categories.Count() == 0)
                {
                    List <Category> cat = context.CategorySet.Where(c => c.ParDefaut == true).ToList();
                    foreach (Category tmp in cat)
                    {
                        t.Categories.Add(tmp);
                        tmp.Taches.Add(t);
                    }
                }

                context.SaveChanges();

                BETache retour = new BETache();
                retour.Id     = t.Id;
                retour.Nom    = t.Nom;
                retour.Debut  = t.Debut;
                retour.Fin    = t.Fin;
                retour.Detail = t.Detail;

                foreach (Category cat in t.Categories)
                {
                    BECategory categ = new BECategory();
                    categ.Id        = cat.Id;
                    categ.Nom       = cat.Nom;
                    categ.ParDefaut = cat.ParDefaut;

                    retour.Categories.Add(categ);
                }

                BEEtat etat = new BEEtat();
                etat.Id      = t.Etat.Id;
                etat.Libelle = t.Etat.Libelle;
                etat.Code    = t.Etat.Code;

                retour.Etat = etat;

                BEUtilisateur user = new BEUtilisateur();
                user.Id       = t.Utilisateur.Id;
                user.Login    = t.Utilisateur.Login;
                user.Nom      = t.Utilisateur.Nom;
                user.Password = t.Utilisateur.Password;
                user.Prenom   = t.Utilisateur.Prenom;
                user.Email    = t.Utilisateur.Email;

                retour.Utilisateur = user;

                return(retour);
            }
        }
Esempio n. 12
0
        public BETache AjouterTache(int idUser, string nom, System.DateTime debut, System.DateTime fin, string detail, List <BECategory> categories)
        {
            //Contrôle
            if (string.IsNullOrWhiteSpace(nom))
            {
                throw new ArgumentException("Veuillez renseigner le nom de la tache.", "nom");
            }
            if (string.IsNullOrWhiteSpace(detail))
            {
                throw new ArgumentException("Veuillez renseigner le detail de la tache.", "detail");
            }
            if (fin < debut)
            {
                throw new ArgumentException("Veuillez renseigner une date de fin valide.", "fin");
            }

            //Enregistrement

            using (TodoListUCBLEntities context = new TodoListUCBLEntities())
            {
                Tache t = new Tache();
                t.Nom         = nom;
                t.Debut       = debut;
                t.Fin         = fin;
                t.Detail      = detail;
                t.Etat        = context.EtatSet.First(c => c.Libelle == "Créée");
                t.Utilisateur = context.UtilisateurSet.First(u => u.Id == idUser);

                foreach (BECategory cat in categories)
                {
                    t.Categories.Add(context.CategorySet.First(c => c.Id == cat.Id));
                    Category categ = context.CategorySet.First(cc => cc.Id == cat.Id);
                    categ.Taches.Add(t);
                }

                if (categories.Count() == 0)
                {
                    List <Category> cat = context.CategorySet.Where(c => c.ParDefaut == true).ToList();
                    foreach (Category tmp in cat)
                    {
                        t.Categories.Add(tmp);
                        tmp.Taches.Add(t);
                    }
                }

                context.TacheSet.Add(t);
                context.SaveChanges();

                //On retourne la tache

                BETache retour = new BETache();

                retour.Id     = t.Id;
                retour.Nom    = t.Nom;
                retour.Debut  = t.Debut;
                retour.Fin    = t.Fin;
                retour.Detail = t.Detail;

                BEEtat etat = new BEEtat();
                etat.Id      = t.Etat.Id;
                etat.Libelle = t.Etat.Libelle;
                etat.Code    = t.Etat.Code;

                retour.Etat = etat;

                foreach (Category cat in t.Categories)
                {
                    BECategory categ = new BECategory();
                    categ.Id        = cat.Id;
                    categ.Nom       = cat.Nom;
                    categ.ParDefaut = cat.ParDefaut;
                    retour.Categories.Add(categ);
                }

                BEUtilisateur user = new BEUtilisateur();

                user.Email    = t.Utilisateur.Email;
                user.Id       = t.Utilisateur.Id;
                user.Login    = t.Utilisateur.Login;
                user.Password = t.Utilisateur.Password;
                user.Prenom   = t.Utilisateur.Prenom;
                user.Nom      = t.Utilisateur.Nom;

                retour.Utilisateur = user;

                return(retour);
            }
        }