/// <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); }
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; } }
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); } }
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); } }
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; } }
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); } }
/// <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); } }
/// <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); }
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); } }
/// <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); } }
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); } }
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); } }