コード例 #1
0
        public async Task <ActionResult> Create(newUserViewModel user)
        {
            if (ModelState.IsValid)
            {
                if (user.UsuariosChequeados != null && user.UsuariosChequeados.Count > 0)
                {
                    try
                    {
                        var resultado = await _userService.CreateAsync(new ApplicationUser { Email = user.Email, UserName = user.UserName }, user.Password);

                        if (resultado.Succeeded)
                        {
                            var usuario = await _userService.FindByEmailAsync(user.Email);

                            _userService.AddToRoles(usuario.Id, user.UsuariosChequeados.ToArray());
                            AddMessage("Usuario Creado correctamente", Helpers.Managers.MessageType.Normal);
                            return(RedirectToAction("Details", new { id = usuario.Id }));
                        }
                        foreach (var e in resultado.Errors)
                        {
                            AddMessage(e, Helpers.Managers.MessageType.Error);
                        }
                    }
                    catch
                    {
                        AddMessage("Hubo un error al crear el usuario", Helpers.Managers.MessageType.Error);
                    }
                }
                else
                {
                    AddMessage("Debe seleccionar un role", Helpers.Managers.MessageType.Error);
                }
            }

            user.Password   = "";
            user.RePassword = "";
            var roles = _roleService.Roles;

            user.ListaDeRoles = new List <RolesDeUsuarioViewModel>();
            foreach (var rol in roles)
            {
                user.ListaDeRoles.Add(new RolesDeUsuarioViewModel()
                {
                    Checked = false, NombreRol = rol.Name
                });
            }
            return(View("Create", user));
        }
コード例 #2
0
        // GET: Administracion/Usuarios/Create
        public ActionResult Create()
        {
            var vm    = new newUserViewModel();
            var roles = _roleService.Roles;

            vm.ListaDeRoles = new List <RolesDeUsuarioViewModel>();
            foreach (var rol in roles)
            {
                vm.ListaDeRoles.Add(new RolesDeUsuarioViewModel()
                {
                    Checked = false, NombreRol = rol.Name
                });
            }

            return(View(vm));
        }
コード例 #3
0
        public async Task <ActionResult> Register(newUserViewModel model)
        {
            string username = "";

            if (ModelState.IsValid)
            {
                if (model.newProfile.user.UserName != null)
                {
                    string checkedUsername = createUserName(model.newProfile.user.UserName);
                    if (checkedUsername == model.newProfile.user.UserName)
                    {
                        username = model.newProfile.user.UserName;
                    }
                    else
                    {
                        ViewBag.ErrorMessage = "Username is already in use, try something else or leave line blank to use your email address."; return(View(model));
                    }
                }
                else
                {
                    username = createUserName(createUsernamePrefix(model.newProfile));
                }
                ApplicationUser user = new ApplicationUser {
                    UserName = username, Email = model.newUser.Email
                };
                var result = await UserManager.CreateAsync(user, model.newUser.Password);

                if (result.Succeeded)
                {
                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                    UserManager.AddToRole(user.Id, "StdUser");
                    var profile = new userProfileModel {
                        fName = model.newProfile.fName, MInitial = model.newProfile.MInitial, lName = model.newProfile.lName, state = model.newProfile.state, city = model.newProfile.city, zipcode = model.newProfile.zipcode, address = model.newProfile.address, contactEmail = model.newUser.Email, ID = user.Id, UserID = user.Id
                    };
                    db.userprofilemodel.Add(profile);
                    db.SaveChanges();
                    await signInOut(model.newUser.Password, user);

                    return(RedirectToAction("Index", "Home"));
                }
                AddErrors(result);
            }
            // If we got this far, something failed, redisplay form
            return(View(model));
        }