partial void DeleteUsuario(Usuario instance);
partial void UpdateUsuario(Usuario instance);
public ActionResult Register(RegisterModel model, Usuario aa) { if (ModelState.IsValid) { // Intento de registrar al usuario try { WebSecurity.CreateUserAndAccount(model.UserName, model.Password); WebSecurity.Login(model.UserName, model.Password); conectorDataContext db = new conectorDataContext(); aa.Nickname = model.UserName; aa.password = model.Password; db.Usuario.InsertOnSubmit(aa); db.SubmitChanges(); return RedirectToAction("Index", "Home"); } catch (MembershipCreateUserException e) { ModelState.AddModelError("", ErrorCodeToString(e.StatusCode)); } } // Si llegamos a este punto, es que se ha producido un error y volvemos a mostrar el formulario return View(model); }
partial void InsertUsuario(Usuario instance);
public ActionResult Manage(LocalPasswordModel model, Usuario aa) { string an = model.OldPassword; conectorDataContext db = new conectorDataContext(); bool hasLocalAccount = OAuthWebSecurity.HasLocalAccount(WebSecurity.GetUserId(User.Identity.Name)); ViewBag.HasLocalPassword = hasLocalAccount; ViewBag.ReturnUrl = Url.Action("Manage"); if (hasLocalAccount) { if (ModelState.IsValid) { // ChangePassword iniciará una excepción en lugar de devolver false en determinados escenarios de error. bool changePasswordSucceeded; try { //string nom = aa.Nickname, pas = model.OldPassword, npas = model.NewPassword; changePasswordSucceeded = WebSecurity.ChangePassword(aa.Nickname = User.Identity.Name, model.OldPassword, aa.password = model.NewPassword); //db.Usuario.DeleteOnSubmit(aa); //db.SubmitChanges(); //db.Usuario.InsertOnSubmit(aa); //db.SubmitChanges(); } catch (Exception) { changePasswordSucceeded = false; } if (changePasswordSucceeded) { return RedirectToAction("Manage", new { Message = ManageMessageId.ChangePasswordSuccess }); } else { ModelState.AddModelError("", "La contraseña actual es incorrecta o la nueva contraseña no es válida."); } } } else { // El usuario no dispone de contraseña local, por lo que debe quitar todos los errores de validación generados por un // campo OldPassword vacío ModelState state = ModelState["OldPassword"]; if (state != null) { state.Errors.Clear(); } if (ModelState.IsValid) { try { WebSecurity.CreateAccount(User.Identity.Name, model.NewPassword); return RedirectToAction("Manage", new { Message = ManageMessageId.SetPasswordSuccess }); } catch (Exception e) { ModelState.AddModelError("", e); } } } // Si llegamos a este punto, es que se ha producido un error y volvemos a mostrar el formulario return View(model); }