public IActionResult Create(CrearUsuarioModel usuario) { if (ModelState.IsValid) { Usuario nuevoUsuario = new Usuario() { nombre = usuario.nombre, email = usuario.email, edad = usuario.edad }; usuarios.agregarUsuario(nuevoUsuario); return(RedirectToAction("Details", new { id = nuevoUsuario.id })); } return(View()); }
public async Task <IActionResult> CrearUsuario([Bind("email,Password,ConfirmPassword,idEmpresa")] CrearUsuarioModel usuario) { SelectList listRatios = new SelectList(_context.Empresa.ToList(), "Idempresa", "Nomempresa"); ViewBag.listRatios = listRatios; if (ModelState.IsValid) { Empresa empresa = _context.Empresa.Where(l => l.Idempresa == usuario.idEmpresa).FirstOrDefault(); Usuario u = new Usuario() { UserName = usuario.email, Email = usuario.email, EmailConfirmed = true, Idempresa = empresa }; string pass = usuario.Password; var result = await _userManager.CreateAsync(u, pass); return(RedirectToAction("Index")); } return(View(usuario)); }
public async Task <ActionResult> Crear(CrearUsuarioModel model) { if (ModelState.IsValid) { var user = new ApplicationUser { UserName = model.Email, Email = model.Email }; try { //generacion de contraseña provisional string generatedPassword = Membership.GeneratePassword(12, 2); //crea el usuario en la tabla de AspNetUsers var result = await UserManager.CreateAsync(user, generatedPassword); if (result.Succeeded) { // Crea el usuario en las tabla de Usuario var userEntry = new Usuario(); userEntry.cedula = model.Cedula; userEntry.nombre = model.Nombre; userEntry.id = context.Users.Where(u => u.Email == model.Email).FirstOrDefault().Id; userEntry.updatedAt = DateTime.Now; baseDatos.Usuarios.Add(userEntry); baseDatos.SaveChanges(); var telefonoEntry = new Usuarios_Telefonos(); telefonoEntry.telefono = model.Telefono; telefonoEntry.usuario = model.Cedula; baseDatos.Usuarios_Telefonos.Add(telefonoEntry); // valida los datos recibidos del modelo if (model.Telefono2 != null) { var telefonoEntry2 = new Usuarios_Telefonos(); telefonoEntry2.telefono = model.Telefono2; telefonoEntry2.usuario = model.Cedula; baseDatos.Usuarios_Telefonos.Add(telefonoEntry2); } if (model.Telefono3 != null) { var telefonoEntry3 = new Usuarios_Telefonos(); telefonoEntry3.telefono = model.Telefono3; telefonoEntry3.usuario = model.Cedula; baseDatos.Usuarios_Telefonos.Add(telefonoEntry3); } baseDatos.SaveChanges(); //Envio de Correo //string callbackUrl = await SendEmailConfirmationTokenAsync(user.Id, "Confirm your account", model.Nombre, generatedPassword); //crea la relacion del usuario con el rol await this.UserManager.AddToRoleAsync(user.Id, model.UserRoles); this.AddToastMessage("Usuario Creado", "El usuario " + model.Nombre + " se ha creado correctamente. Se envió un correo electronico de confirmación al usuario", ToastType.Success); return(RedirectToAction("Crear", "Usuarios")); } foreach (var error in result.Errors) { ModelState.AddModelError("", error); } await UserManager.DeleteAsync(user); ViewBag.Name = new SelectList(context.Roles.ToList(), "Name", "Name"); // Si llegamos a este punto, es que se ha producido un error y volvemos a mostrar el formulario this.AddToastMessage("Error", "Ha ocurrido un error al crear al usuario " + model.Nombre + ".", ToastType.Error); return(View(model)); } catch (Exception ex) { Console.WriteLine(ex); this.AddToastMessage("Error", "Ha ocurrido un error al crear al usuario " + model.Nombre + ".", ToastType.Error); ViewBag.Name = new SelectList(context.Roles.ToList(), "Name", "Name"); return(View(model)); } } return(View(model)); }