private void AddErrors(IdentityResult identityResult, DealRegisterResult dealRegisterResult) { foreach (var error in identityResult.Errors) { dealRegisterResult.ErrorMessages.Add(error); } }
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); }