public ActionResult SignIn(UserModel user) { if (ModelState.IsValid) { DBManager dbm = new DBManager(); if (dbm.UserManager.IsTheEmailInTheDB(user.UserEmail)) { return(View()); } ConvalidationUser cu = new ConvalidationUser(user); if (!cu.isTheUserHaveValidParametres()) { return(View()); } AsyncFunctionToUse.SendMailForConvalidation(user); // Log LogMaster.WriteOnLog("a new user have signin with username " + user.UserName); return(Content("Abbiamo inviato un'email di conferma")); } return(View()); }
public ActionResult Login(UserForLogin ufl) { DBManager dbm = new DBManager(); UserModel user = dbm.UserManager.GetUserData(ufl.UserEmailForLogin); if (user == null || !user.ConfirmedEmail) { return(View()); } ConvalidationUser cu = new ConvalidationUser(user); if (cu.CheckPasswordIsTheSame(ufl.UserPasswordForLogin, user.UserPassword)) { Session["user_id"] = user._id.ToString(); Session["userEmail"] = user.UserEmail; Session["userName"] = user.UserName; Session["login"] = 1; // Log LogMaster.WriteOnLog("user " + (string)Session["user_id"] + " is logged in"); return(RedirectToAction("Home", "Home")); } return(View()); }
public static void SendMailForConvalidation(UserModel user) { Task sendNewEmail = new Task(() => { DBManager dbm = new DBManager(); ConvalidationUser cu = new ConvalidationUser(user); user.UserPassword = cu.CryptUserPassword(user.UserPassword); dbm.UserManager.AddUserToMongoDB(user); DefaultBodyText df = new DefaultBodyText(user.UserName, user._id); string text = df.GetNewBodyForEmailSubscription(); SendMail sm = new SendMail(); sm.SendNewEmail(user.UserEmail, text); }); sendNewEmail.Start(); }