// GET: /Membres/Details/5 public ActionResult Details(int?id) { /*var empruntsList = (from l in db.Livres join e in db.Emprunts on l.Id_Livre equals e.Id_Livre select new { l, e} ); * ViewBag.Emprunts = empruntsList.ToList(); * ViewBag.Livres = new SelectList(db.Livres, "titre"); */ /* ViewBag.Emprunts = db.Emprunts.Where(m => m.Id_membre.Equals(id)); */ /*Retourne la liste des livres empruntés ainsi que la date d'emprunt: ComplexView se trouve dans le model BiblioModel.Context.cs */ var emprunts = (from l in db.Livres join e in db.Emprunts on l.Id_Livre equals e.Id_Livre select new { e, l }).ToList(); var empruntsList = emprunts.Select(u => new dbBiblioEntities.ComplexView { titre = u.l.titre, date_emprunt = u.e.date_emprunt, date_retour = Convert.ToDateTime(u.e.date_retour) }); ViewBag.Emprunts = empruntsList; if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Membres membres = db.Membres.Find(id); /*Emprunts emprunts = db.Emprunts.Include(m => m.Livres); */ if (membres == null) { return(HttpNotFound()); } return(View(membres)); }
public ActionResult DeleteConfirmed(int id) { Membres membres = db.Membres.Find(id); db.Membres.Remove(membres); db.SaveChanges(); return(RedirectToAction("Index")); }
public IActionResult InitializeNewPassWordPost(string password, string cPassword) { List <string> errors = new List <string>(); ViewBag.NbrePagesVues = GetPageVues(); ViewBag.NbreVisitUnique = GetVisitIP(); if (password == null) { errors.Add("Merci de saisir un mot de passe!"); } if (password != cPassword) { errors.Add("Merci de saisir le même mot de passe!"); } if (errors.Count() > 0) { ViewBag.errors = errors; return(View("InitializeNewPassWord")); } else { string pattern = "^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*\\W)"; Regex r = new Regex(pattern); if (!r.IsMatch(password)) { errors.Add("Mot de passe invalide! Il doit être compris entre 8 et 15 caractères et contenir " + "au minimum un chiffre, une majuscule et un caractère spécial"); } if (errors.Count() > 0) { ViewBag.errors = errors; return(View("InitializeNewPassWord")); } } string NoUnique = Request.Cookies["User"]; string HashPassword = Crypto.HashMdp(password); Membres m = new Membres { Password = HashPassword, NoUnique = NoUnique }; m.UpdatePassword(); m = m.GetMembreByNoUnique(); ViewBag.ChangePassOk = "Changement de mot de passe réussi. Merci de vous identifier."; return(View("Login", m)); }
public ActionResult Edit([Bind(Include = "Id_Membres,Nom,Prenom,Email,Phone")] Membres membres) { if (ModelState.IsValid) { db.Entry(membres).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(membres)); }
public IActionResult Register() { ViewBag.NbreVisitUnique = GetVisitIP(); ViewBag.NbrePagesVues = GetPageVues(); ConsentCookie(ViewBag); Membres m = new Membres(); return(View(m)); }
public IActionResult ChangePasswordPost(string mail) { ViewBag.NbrePagesVues = GetPageVues(); ViewBag.NbreVisitUnique = GetVisitIP(); List <string> errors = new List <string>(); if (mail == null) { errors.Add("Merci de saisir une adresse mail."); ViewBag.errors = errors; return(View("ForgotPassword")); } Membres m = new Membres { Mail = mail }; if ((!m.VerifMailExist())) { errors.Add("Il n'y a pas d'utilisateur avec cette adresse mail."); ViewBag.errors = errors; ViewBag.Mail = m.Mail; return(View("ForgotPassword")); } string NoUnique = m.GetNoUniqueMembre(); SmtpClient client = new SmtpClient { Host = PassConnection.SmtpConfig(), Port = 587, EnableSsl = true, Credentials = new NetworkCredential("*****@*****.**", PassConnection.MailPassWord()) }; MailMessage message = new MailMessage("*****@*****.**", m.Mail) { IsBodyHtml = true, Body = "Merci de confirmer votre adresse mail en cliquant sur le lien suivant: <a href = \"http://www.greys-anatomy-fans.com/Membres/ReinitializeLostPassWord/" + NoUnique + "\">Lien</a>" , Subject = "Réinitialisation du Mot de Passe" }; client.Send(message); ViewBag.Message = $"Un mail vous permettant de réinitialiser votre mot de passe a été envoyé à {m.Mail}"; return(View("ForgotPassword")); }
public ActionResult Create([Bind(Include = "Id_Membres,Nom,Prenom,Email,Phone")] Membres membres) { if (ModelState.IsValid) { db.Membres.Add(membres); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(membres)); }
public ActionResult Edit([Bind(Include = "Id_membre,nom,prenom,date_naissance,sexe,tel,courriel,code,Id_adresse")] Membres membres, [Bind(Include = "Id_adresse,num_civique,rue,app,ville,code_postal,province")] Adresses adresses) { if (ModelState.IsValid) { db.Entry(membres).State = EntityState.Modified; db.Entry(adresses).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.Id_adresse = new SelectList(db.Adresses, "Id_adresse", "adresseComplete", membres.Id_adresse); return(View(membres)); }
/// <summary> /// Methode d'ajout d'un membre dans la liste de membre de l'association. /// </summary> /// <param name="membre"></param> public void AjouterUnMembre(Membre membre) { if (Membres.Contains(membre)) { throw new Exception("Ce membre figure dejà dans la liste des Membres de l'association."); } //Si le membre passé en paramètre existe dans la liste de membres de l'association, une exception est levé. else { Membres.Add(membre); //Sinon il est ajouté à la liste des membres. } }
/// <summary> /// Methode de suppression d'un membre dans la liste de membre de l'association. /// </summary> /// <param name="membre"></param> public void SupprimerMembre(Membre membre) { if (Membres.Contains(membre)) { Membres.Remove(membre); } //Si le membre passé en paramètre existe dans la liste des membres il est alors supprimé. else { throw new Exception("Ce membre n'existe pas pour être supprimé."); } }
private void SupprimerParticpant(object obj) { StageService.SupprimerParticipant(club, stage, participantSelectione); Membres.Add(participantSelectione); if (ParticipantsStage.Contains(participantSelectione)) { ParticipantsStage.Remove(participantSelectione); } if (Participants.Contains(participantSelectione)) { Participants.Remove(participantSelectione); } }
public ActionResult Edit([Bind(Include = "idMembre,idAdresse,Nom,Prénom,Date_naissance,Courriel,Téléphone")] Membres membres, [Bind(Include = "idAdresse, Numéro_civique, Rue, Ville, Code_postal")] Adresses adresses) { if (ModelState.IsValid) { db.Entry(adresses).State = EntityState.Modified; db.Entry(membres).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.idAdresse = new SelectList(db.Adresses, "idAdresse", "idAdresse", membres.idAdresse); //ViewBag.idAdresse = new SelectList(db.Adresses, "idAdresse", "Rue", membres.idAdresse); return(View(membres)); }
public IActionResult Confirm(string id) { ViewBag.NbreVisitUnique = GetVisitIP(); ViewBag.NbrePagesVues = GetPageVues(); Membres m = new Membres { NoUnique = id }; m = m.GetMembreByNoUnique(); return(View("Confirm", m)); }
// GET: Membres/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Membres membres = db.Membres.Find(id); if (membres == null) { return(HttpNotFound()); } return(View(membres)); }
public IActionResult Show(string pseudo) { ViewBag.NbreVisitUnique = GetVisitIP(); ViewBag.NbrePagesVues = GetPageVues(); UserConnect(ViewBag); ConsentCookie(ViewBag); Membres m = new Membres(); m = m.GetMembreByPseudo(pseudo); return(View("ShowMembre", m)); }
// GET: /Membres/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Membres membres = db.Membres.Find(id); if (membres == null) { return(HttpNotFound()); } ViewBag.Id_adresse = new SelectList(db.Adresses, "Id_adresse", "adresseComplete", membres.Id_adresse); return(View(membres)); }
private void CookieUserExist(dynamic v) { if (Request.Cookies["User"] != null) { string valCookie = Request.Cookies["User"]; Membres m = new Membres { NoUnique = valCookie }; m = m.GetMembreByNoUnique(); v.Mail = m.Mail; } else { Membres m = new Membres(); v.Mail = "Votre Adresse Mail"; } }
private void MiseAJourDesListe() { foreach (MembreModel m in club.Membres) { if (!StageService.VeutParticiper(club, stage, m) && MembreService.EstDisponible(club, m, stage) && !StageService.ParticipeAuStage(m, stage)) { Membres.Add(m); } if (StageService.VeutParticiper(club, stage, m)) { Participants.Add(m); } if (StageService.ParticipeAuStage(m, stage)) { ParticipantsStage.Add(m); } } }
public IActionResult Membres() { ViewBag.NbreVisitUnique = GetVisitIP(); ViewBag.NbrePagesVues = GetPageVues(); ConsentCookie(ViewBag); UserConnect(ViewBag); if (!ViewBag.logged) { return(View("Login")); } Membres m = new Membres(); List <Membres> ListMembres = m.GetAllMembres(); return(View("AdminMembres", ListMembres)); }
public async Task <IActionResult> AddArticlePost(string titre, string text, int idCategory, IFormFile media) { ViewBag.NbreVisitUnique = GetVisitIP(); ViewBag.NbrePagesVues = GetPageVues(); UserConnect(ViewBag); CategoryArticle c = new CategoryArticle { Id = idCategory }; Membres m = new Membres { IdMembre = Convert.ToInt32(ViewBag.Id) }; Article a = new Article { Titre = titre, Texte = text, Categorie = c, Auteur = m, Date = DateTime.Now }; a = a.AddArticle(); string NumeroUnique = Guid.NewGuid().ToString("N"); var path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/images/MediasArticles", a.Id.ToString() + "-" + NumeroUnique + media.FileName); var stream = new FileStream(path, FileMode.Create); await media.CopyToAsync(stream); MediaArticle mediaArticle = new MediaArticle { Url = "images/MediasArticles/" + a.Id.ToString() + "-" + NumeroUnique + media.FileName, IdArticle = a.Id }; mediaArticle.AddMediaArticle(); ArticlesCategoriesViewModel viewModel = new ArticlesCategoriesViewModel { Categories = c.GetAllCategory(), Articles = a.GetAllArticles(null, null) }; return(View("ListArticles", viewModel)); }
public IActionResult ReinitializeLostPassWord(string id) { ViewBag.NbreVisitUnique = GetVisitIP(); ViewBag.NbrePagesVues = GetPageVues(); Membres m = new Membres { NoUnique = id }; m = m.GetMembreByNoUnique(); CookieOptions option = new CookieOptions { Expires = DateTime.Now.AddDays(30), HttpOnly = true }; Response.Cookies.Append("User", id, option); return(View("InitializeNewPassWord", m)); }
public IActionResult ViewArticle(int id) { ViewBag.NbreVisitUnique = GetVisitIP(); ViewBag.NbrePagesVues = GetPageVues(); UserConnect(ViewBag); ConsentCookie(ViewBag); Article a = new Article { Id = id }; a = a.GetArticle(); a.Texte = a.Texte.Replace(Environment.NewLine, "<br/>"); ViewBag.MetaDescription = a.Texte; Personnage perso = new Personnage(); List <Personnage> Persos = perso.GetAllPersos(); foreach (Personnage p in Persos) { a.Texte = a.Texte.Replace(p.Prenoms[0].Prenom, "<a href=\"/Personnages/ViewPersonnageID/" + p.Id + "\">" + p.Prenoms[0].Prenom + "</a>"); a.Texte = a.Texte.Replace(p.Nom, "<a href=\"/Personnages/ViewPersonnageID/" + p.Id + "\">" + p.Nom + "</a>"); } Acteur act = new Acteur(); List <Acteur> Acteurs = act.GetAllActeurs(); foreach (Acteur acteur in Acteurs) { a.Texte = a.Texte.Replace(acteur.NomActeur, "<a href=\"/Acteurs/ViewActeurID/" + acteur.IdActeur + "\">" + acteur.NomActeur + "</a>"); try { a.Texte = a.Texte.Replace(acteur.PrenomsActeur[0].Prenom, "<a href=\"/Acteurs/ViewActeurID/" + acteur.IdActeur + "\">" + acteur.PrenomsActeur[0].Prenom + "</a>"); } catch { a.Texte = a.Texte; } } a.Texte = a.Texte.Replace("Grey Sloan", "<a href=\"/Serie/Hospital/\">" + "Grey Sloan Memorial Hospital" + "</a>"); a.Texte = a.Texte.Replace("Grey Sloan Memorial", "<a href=\"/Serie/Hospital/\">" + "Grey Sloan Memorial Hospital" + "</a>"); a.Texte = a.Texte.Replace("Grey Sloan Memorial Hospital", "<a href=\"/Serie/Hospital/\">" + "Grey Sloan Memorial Hospital" + "</a>"); a.Texte = a.Texte.Replace("Seattle Grace", "<a href=\"/Serie/Hospital/\">" + "Seattle Grace" + "</a>"); Membres m = new Membres(); Commentaire c = new Commentaire { TypePubli = "article", IdPubli = id }; List <Commentaire> commentaires = c.GetComments(); List <Article> LastTenArticles = a.GetAllArticles(null, null); MembreLoginViewModel viewModel = new MembreLoginViewModel { Article = a, Membre = m, Commentaires = commentaires, Articles = LastTenArticles }; return(View("ViewArticle", viewModel)); }
public IActionResult Vote(int?vote, int idSurvey) { ViewBag.NbreVisitUnique = GetVisitIP(); ViewBag.NbrePagesVues = GetPageVues(); UserConnect(ViewBag); ConsentCookie(ViewBag); List <string> errors = new List <string>(); if (vote == null) { errors.Add("Vous devez cocher une case pour voter!"); ViewBag.errors = errors; Survey survey = new Survey { Id = idSurvey }; survey = survey.GetSurvey(); Membres membre = new Membres(); //Récupérer le membre auteur du sondage membre = membre.GetMembreById(survey.IdCreateur); SurveyViewModel viewModel = new SurveyViewModel { Survey = survey, Membre = membre }; return(View("ViewSurvey", viewModel)); } if (ViewBag.Logged) { AnswerByMembre answer = new AnswerByMembre { IdMembre = Convert.ToInt32(ViewBag.Id), IdSurvey = idSurvey, IdAnswer = (int)vote }; answer.SaveVoteMembre(); } else { Visiteur v = new Visiteur(); string remoteIpAddress = Convert.ToString(Request.HttpContext.Connection.RemoteIpAddress); AnswerByIp answer = new AnswerByIp { IdIp = v.GetIdIp(remoteIpAddress), IdAnswer = (int)vote, IdSurvey = idSurvey }; answer.SaveVoteIdIp(); CookieOptions option = new CookieOptions { Expires = DateTime.Now.AddDays(365), HttpOnly = true }; Response.Cookies.Append("Survey" + idSurvey, Convert.ToString(vote), option); } Survey s = new Survey { Id = idSurvey }; s = s.GetSurvey(); Membres m = new Membres(); //Récupérer le membre auteur du sondage m = m.GetMembreById(s.IdCreateur); List <Survey> surveys = s.GetAllSurveys(true); SurveyResultViewModel result = new SurveyResultViewModel { Survey = s, Surveys = surveys, Membre = m }; return(View("ResultSurvey", result)); }
public IActionResult DisplaySurvey(int id) { ViewBag.NbreVisitUnique = GetVisitIP(); ViewBag.NbrePagesVues = GetPageVues(); UserConnect(ViewBag); ConsentCookie(ViewBag); Survey s = new Survey { Id = id }; s = s.GetSurvey(); Membres m = new Membres(); //Récupérer le membre auteur du sondage m = m.GetMembreById(s.IdCreateur); SurveyViewModel viewModel = new SurveyViewModel { Survey = s, Membre = m }; bool DejaVote; // Vérifier si déjà voté if (ViewBag.Logged) { AnswerByMembre answer = new AnswerByMembre(); int IdMembre = Convert.ToInt32(ViewBag.Id); DejaVote = answer.VerifVoteMembre(IdMembre, id); } else { Visiteur v = new Visiteur(); string remoteIpAddress = Convert.ToString(Request.HttpContext.Connection.RemoteIpAddress); AnswerByIp answer = new AnswerByIp(); bool VerifByIp = answer.VerifVoteIp(v.GetIdIp(remoteIpAddress), id); bool VerifByCookie; if (Request.Cookies["Survey" + id] == null) { VerifByCookie = false; } else { VerifByCookie = true; } if (VerifByIp && VerifByCookie) { DejaVote = true; } else { DejaVote = false; } } if (DejaVote) { List <Survey> surveys = s.GetAllSurveys(true); SurveyResultViewModel result = new SurveyResultViewModel { Survey = s, Surveys = surveys, Membre = m }; return(View("ResultSurvey", result)); } return(View("ViewSurvey", viewModel)); }
public async Task <IActionResult> ModifAvatarPost(IFormFile image) { ViewBag.NbreVisitUnique = GetVisitIP(); ViewBag.NbrePagesVues = GetPageVues(); UserConnect(ViewBag); Membres m = new Membres { Pseudo = HttpContext.Session.GetString("pseudo"), Statut = HttpContext.Session.GetString("statut"), Mail = HttpContext.Session.GetString("mail"), IdMembre = Convert.ToInt32(HttpContext.Session.GetString("idMembre")), Avatar = HttpContext.Session.GetString("avatar") }; if (image.FileName.Contains(".png") || image.FileName.Contains(".jpg")) { if (image.Length > 1000000) { ViewBag.errors = "Le fichier doit avoir une taille maximale de 1Mo."; return(View("ModifAvatar")); } string NumeroUnique = Guid.NewGuid().ToString("N"); if (image.FileName.Contains(".png")) { var path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/images/Avatars", m.IdMembre.ToString() + "-" + NumeroUnique + ".png"); var stream = new FileStream(path, FileMode.Create); await image.CopyToAsync(stream); m = new Membres { Pseudo = HttpContext.Session.GetString("pseudo"), Statut = HttpContext.Session.GetString("statut"), Mail = HttpContext.Session.GetString("mail"), IdMembre = Convert.ToInt32(HttpContext.Session.GetString("idMembre")), Avatar = "images/Avatars/" + m.IdMembre.ToString() + "-" + NumeroUnique + ".png" }; m.UpdateAvatar(); HttpContext.Session.SetString("avatar", m.Avatar); } if (image.FileName.Contains(".jpg")) { var path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/images/Avatars", m.IdMembre.ToString() + "-" + NumeroUnique + ".jpg"); var stream = new FileStream(path, FileMode.Create); await image.CopyToAsync(stream); m = new Membres { Pseudo = HttpContext.Session.GetString("pseudo"), Statut = HttpContext.Session.GetString("statut"), Mail = HttpContext.Session.GetString("mail"), IdMembre = Convert.ToInt32(HttpContext.Session.GetString("idMembre")), Avatar = "images/Avatars/" + m.IdMembre.ToString() + "-" + NumeroUnique + ".jpg" }; m.UpdateAvatar(); HttpContext.Session.SetString("avatar", m.Avatar); } } else { ViewBag.errors = "Seuls les fichiers .jpg ou .png sont accceptés"; return(View("ModifAvatar")); } UserConnect(ViewBag); HttpContext.Session.SetString("avatar", m.Avatar); ViewBag.ChangeAvatarOk = "Changement de photo de profil réussi"; return(View("ShowMembre")); }
private void AjouterParticipant(object obj) { StageService.AjouterParticipant(club, stage, membreSelectione); Participants.Add(MembreSelectione); Membres.Remove(MembreSelectione); }
public IActionResult LoginPost(string mail, string password, string typePubli, int?idPubli) { ViewBag.NbreVisitUnique = GetVisitIP(); ViewBag.NbrePagesVues = GetPageVues(); ConsentCookie(ViewBag); List <string> errors = new List <string>(); if (mail == null) { errors.Add("Merci de saisir une adresse mail."); } if (password == null) { errors.Add("Merci de saisir un mot de passe."); } if (errors.Count > 0) { ViewBag.errors = errors; ViewBag.Mail = mail; if (typePubli == "article") { return(RedirectToRoute(new { controller = "Home", action = "ViewArticle", id = idPubli })); } return(View("Login")); } else { Membres m = new Membres { Mail = mail, Password = password }; if ((!m.VerifMailExist())) { errors.Add("Il n'y a pas d'utilisateur avec cette adresse mail / mot de passe."); ViewBag.errors = errors; ViewBag.Mail = m.Mail; if (typePubli == "article") { return(RedirectToRoute(new { controller = "Home", action = "ViewArticle", id = idPubli })); } return(View("Login")); } m = m.Login(); if (m.Pseudo == null) { errors.Add("Il n'y a pas d'utilisateur avec cette adresse mail / mot de passe."); ViewBag.errors = errors; ViewBag.Mail = m.Mail; if (typePubli == "article") { return(RedirectToRoute(new { controller = "Home", action = "ViewArticle", id = idPubli })); } return(View("Login")); } if (m.VerifStatut() == "Inactif") { errors.Add("Vous devez confirmer votre adresse Mail pour vous connecter."); ViewBag.errors = errors; ViewBag.Mail = m.Mail; if (typePubli == "article") { return(RedirectToRoute(new { controller = "Home", action = "ViewArticle", id = idPubli })); } return(View("Login")); } else { HttpContext.Session.SetString("logged", "true"); HttpContext.Session.SetString("pseudo", m.Pseudo); HttpContext.Session.SetString("idMembre", m.IdMembre.ToString()); HttpContext.Session.SetString("statut", m.Statut); HttpContext.Session.SetString("avatar", m.Avatar); HttpContext.Session.SetString("mail", m.Mail); CookieOptions option = new CookieOptions { Expires = DateTime.Now.AddDays(30), HttpOnly = true }; Response.Cookies.Append("User", m.NoUnique, option); if (typePubli == "article") { return(RedirectToRoute(new { controller = "Home", action = "ViewArticle", id = idPubli })); } return(RedirectToRoute(new { controller = "Home", action = "Index" })); } } }
public IActionResult RegisterPost(string pseudo, string mail, string password, string cPassword) { ViewBag.NbreVisitUnique = GetVisitIP(); ViewBag.NbrePagesVues = GetPageVues(); ConsentCookie(ViewBag); List <string> errors = new List <string>(); string remoteIpAddress = Convert.ToString(Request.HttpContext.Connection.RemoteIpAddress); Membres m = new Membres { Pseudo = pseudo, Mail = mail, Password = password, Ip = remoteIpAddress }; if (pseudo == null) { errors.Add("Merci de saisir un pseudo!"); } if (mail == null) { errors.Add("Merci de saisir une adresse mail!"); } if (password == null) { errors.Add("Merci de saisir un mot de passe!"); } if (password != cPassword) { errors.Add("Merci de saisir le même mot de passe!"); } if (m.Pseudo != null) { if (m.VerifPseudoExist()) { errors.Add("Ce pseudo existe déja, veuillez en choisir un autre."); } } if (m.Mail != null) { if (m.VerifMailExist()) { errors.Add("Cette adresse mail est déjà enregistrée!"); } } if (errors.Count() > 0) { ViewBag.errors = errors; return(View("Register", m)); } else { string pattern = @"^[A-z0-9._-]+(@)[a-z-9_-]+\.[a-z]{2,5}$"; Regex r = new Regex(pattern); if (!r.IsMatch(m.Mail)) { errors.Add("Cette adresse mail n'est pas valide!"); } pattern = "[a-zA-Z0-9]{4,10}"; r = new Regex(pattern); if (!r.IsMatch(m.Pseudo)) { errors.Add("Le pseudo doit contenir minimum 4 caractères!"); } pattern = "^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*\\W)"; r = new Regex(pattern); if (!r.IsMatch(m.Password)) { errors.Add("Mot de passe invalide! Il doit être compris entre 8 et 15 caractères et contenir " + "au minimum un chiffre, une majuscule et un caractère spécial"); } if (errors.Count() > 0) { ViewBag.errors = errors; return(View("Register", m)); } } string NumeroUnique = Guid.NewGuid().ToString("N"); /*Creation d'un ID unique pour le cookie*/ string HashPassword = Crypto.HashMdp(password); /*Cryptage PassWord*/ m = new Membres { Pseudo = pseudo, Mail = mail, Password = HashPassword, Ip = remoteIpAddress, NoUnique = NumeroUnique, DateInscription = DateTime.Now }; SmtpClient client = new SmtpClient { Host = PassConnection.SmtpConfig(), Port = 587, EnableSsl = true, Credentials = new NetworkCredential("*****@*****.**", PassConnection.MailPassWord()) }; MailMessage message = new MailMessage("*****@*****.**", m.Mail) { IsBodyHtml = true, Body = "Merci de confirmer votre adresse mail en cliquant sur le lien suivant: <a href = \"http://www.greys-anatomy-fans.com/Membres/Confirm/" + m.NoUnique + "\">Lien</a>" , Subject = "Confirmez votre adresse Mail" }; client.Send(message); m.AddMembre(); CookieOptions option = new CookieOptions { Expires = DateTime.Now.AddDays(30), HttpOnly = true }; Response.Cookies.Append("User", m.NoUnique, option); var request = Request; return(View("SendMailRegistration", m)); }