コード例 #1
0
 private void AddErrors(IdentityResult identityResult, DealRegisterResult dealRegisterResult)
 {
     foreach (var error in identityResult.Errors)
     {
         dealRegisterResult.ErrorMessages.Add(error);
     }
 }
コード例 #2
0
        public async Task <ActionResult> RegisterJson(DealRegisterViewModel model)
        {
            var registerResult = new DealRegisterResult();

            if (ModelState.IsValid)
            {
                //password = kf6Ua?a<2DhfZ<,t
                var offerService = new OfferService();
                var user         = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };

                var result = await UserManager.CreateAsync(user, "kf6Ua?a<2DhfZ<,t");

                if (result.Succeeded)
                {
                    //Line below commented out to prevent log in until the user is confirmed.
                    //await SignInManager.SignInAsync(user, isPersistent:false, rememberBrowser:false);

                    // For more information on how to enable account confirmation and password reset please visit https://go.microsoft.com/fwlink/?LinkID=320771
                    // Send an email with this link

                    //Create company with user ID


                    //Add user role of buyer
                    await UserManager.AddToRoleAsync(user.Id, "Buyer");


                    string callbackUrl = await SendEmailConfirmationTokenAsync(user.Id, "Confirm your account", model.OfferToken);

                    registerResult.IsSuccessful   = true;
                    registerResult.SuccessMessage = "Please check your email to receive your code.";

#if DEBUG
                    registerResult.SuccessMessage += callbackUrl;
#endif
                    // Uncomment to debug locally
                    // TempData["ViewBagLink"] = callbackUrl;

                    var jsonResult = Json(registerResult);
                    jsonResult.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
                    return(jsonResult);
                    //return RedirectToAction("Index", "Home");
                }
                else
                {
                    AddErrors(result, registerResult);
                    registerResult.IsSuccessful = false;
                    var jsonResult = Json(registerResult);
                    jsonResult.JsonRequestBehavior = JsonRequestBehavior.AllowGet;

                    return(jsonResult);
                }
            }
            foreach (var value in ModelState.Values)
            {
                foreach (var error in value.Errors)
                {
                    registerResult.ErrorMessages.Add(error.ErrorMessage);
                }
            }
            var errorResult = Json(registerResult);
            errorResult.JsonRequestBehavior = JsonRequestBehavior.AllowGet;

            return(errorResult);
        }