コード例 #1
0
        public async Task <ActionResult> RegisterGuestUser(RegisterGuestViewModel model)
        {
            model.UserType = "GuestProspect";
            var user = new ApplicationUser()
            {
                UserName = model.UserName, UserType = model.UserType, Email = model.Email
            };
            var result = await UserManager.CreateAsync(user, model.Password);

            if (result.Succeeded)
            {
                await SignInAsync(user, isPersistent : false);

                await UserManager.AddToRoleAsync(user.Id, model.UserType);

                UserVerificationHelper.VerificationResult r = UserVerificationHelper.generateVerificationLog(user.Id, model.Email);
                if (r.status.Equals("500"))
                {
                    AddSingleError(r.message);
                    return(View());
                }
                Session["EMAIL"] = model.Email;
                Session["USER"]  = user.Id;
                return(RedirectToAction("VerifyEmail"));
            }
            else
            {
                AddErrors(result);
            }

            return(View());
        }
コード例 #2
0
        public ActionResult resendCode(VerifyEmail model)
        {
            fillUserData();
            if (model.userId == null || model.email == null)
            {
                TempData["errMessage"] = "Email or user is null";
            }
            else
            {
                UserVerificationHelper.VerificationResult result = UserVerificationHelper.reSendVerificationLog(model.userId, model.email);
                if (result.status.Equals("500"))
                {
                    TempData["errMessage"] = result.message;
                }
                else
                {
                    TempData["errMessage"]     = "";
                    TempData["SuccessMessage"] = result.message;
                }
            }



            return(View("VerifyEmail"));
        }
コード例 #3
0
 public ActionResult VerifyEmail(VerifyEmail model)
 {
     fillUserData();
     UserVerificationHelper.VerificationResult result = UserVerificationHelper.verifyCode(model.userId, model.code);
     if (result.status.Equals("200"))
     {
         var user = UserManager.FindById(model.userId);
         SignInAsync(user, isPersistent: false);
         return(RedirectToAction("AdminPage", "Roles"));
     }
     else
     {
         TempData["errMessage"] = result.message;
     }
     return(View());
 }
コード例 #4
0
        public async Task <IHttpActionResult> RequestPasswordReset([FromUri] String Email)
        {
            var user = db.Users.Where(a => a.Email.Equals(Email)).FirstOrDefault();

            if (user == null)
            {
                return(BadRequest("No matching user with this email!"));
            }
            UserVerificationHelper.VerificationResult result = UserVerificationHelper.generateVerificationLog(user.Id, Email);

            if (result.status.Equals("500"))
            {
                return(BadRequest(result.message));
            }
            else
            {
                return(Ok(result));
            }
        }
コード例 #5
0
        public async Task <IHttpActionResult> VerifyEmail(VerifyEmail model)
        {
            var user = db.Users.Where(a => a.Email.Equals(model.email)).FirstOrDefault();

            if (user == null)
            {
                return(BadRequest("No matching user with this email!"));
            }
            UserVerificationHelper.VerificationResult result = UserVerificationHelper.verifyCode(model.userId == null ? user.Id : model.userId, model.code);

            if (result.status.Equals("500"))
            {
                return(BadRequest(result.message));
            }
            else
            {
                return(Ok(result));
            }
        }
コード例 #6
0
 public void GenerateUserSpecialCode(ApplicationUser user)
 {
     user.UserSpecialCode = UserVerificationHelper.GenerateCode();
 }