public virtual ActionResult Register(RegisterViewModel model, string returnUrl)
{
if (ModelState.IsValid)
{
var results = new ExecutionResults();
var user = model.ToUser();
var identity = UserManager.RegisterUser(user, UserSessionDurationType.Extended, Request.UserHostAddress, results);
if (results.Success)
{ //successful registration
SecurityContextManager.CurrentUser = new UserPrincipal(identity);
return RedirectToLocal(returnUrl);
}
//failed business layer
results.AppendError("Failed to complete registration.");
for (var e = 0; e < results.Messages.Count; e++)
{
ModelState.AddModelError(e.ToString(CultureInfo.InvariantCulture), results.Messages[e].Message);
}
}
//failed data annotation validations
model.Load();
return View(model);
}