Esempio n. 1
0
 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));
        }
Esempio n. 3
0
        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));
        }