public async Task <IActionResult> AgregarUsuario(AgregarUsuarioViewModel agregarUsuarioViewModel) { if (!ModelState.IsValid) { return(View(agregarUsuarioViewModel)); } var usuario = new IdentityUser() { UserName = agregarUsuarioViewModel.UserName, Email = agregarUsuarioViewModel.Email }; IdentityResult resultado = await userManagerRepositorio.CreateAsync(usuario, agregarUsuarioViewModel.Password); if (resultado.Succeeded) { return(RedirectToAction("UserManagment", userManagerRepositorio.Users)); } foreach (IdentityError error in resultado.Errors) { ModelState.AddModelError("", error.Description); } return(View(agregarUsuarioViewModel)); }
public async Task <IActionResult> Create(AgregarUsuarioViewModel Model) { if (ModelState.IsValid) { User Usuario = new User { Direccion = Model.Direccion, Documento = Model.Documento, Email = Model.NombreUsuario, Nombre = Model.Nombre, Apellido = Model.Apellido, PhoneNumber = Model.Telefono, UserName = Model.NombreUsuario }; IdentityResult Respuesta = await _UserHelper.AddUserAsync(Usuario, Model.Password); if (Respuesta.Succeeded) { var UsuarioInDB = await _UserHelper.GetUserByEmailAsync(Model.NombreUsuario); await _UserHelper.AddUserToRoleAsync(UsuarioInDB, "Cliente"); Propietario Propietario = new Propietario { Agendas = new List <Agenda>(), Mascotas = new List <Mascota>(), User = UsuarioInDB }; _Context.Propietarios.Add(Propietario); try { await _Context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } catch (Exception Ex) { ModelState.AddModelError(string.Empty, Ex.ToString()); return(View(Model)); throw; } } ModelState.AddModelError(string.Empty, Respuesta.Errors.FirstOrDefault().Description); } return(View(Model)); }