コード例 #1
0
        public async Task <IActionResult> CrearUsuario(UsuarioViewModel usuarioViewModel)
        {
            if (ModelState.IsValid)
            {
                UsuarioIdentity usuario = new UsuarioIdentity
                {
                    UserName  = usuarioViewModel.Email,
                    Email     = usuarioViewModel.Email,
                    Nombre    = usuarioViewModel.Nombre,
                    Documento = usuarioViewModel.Documento
                };
                try
                {
                    var result = await _userManager.CreateAsync(usuario, usuarioViewModel.Password);

                    if (result.Succeeded)
                    {
                        TempData["Accion"]  = "Crear";
                        TempData["Mensaje"] = "Usuario creado";
                        return(RedirectToAction("Index"));
                    }

                    foreach (var error in result.Errors)
                    {
                        ModelState.AddModelError("", error.Description);
                    }
                }
                catch (Exception)
                {
                    return(View(usuarioViewModel));
                }
            }

            return(View(usuarioViewModel));
        }
コード例 #2
0
        public async Task <IActionResult> OnPostAsync(string returnUrl = null)
        {
            returnUrl = returnUrl ?? Url.Content("~/");
            if (ModelState.IsValid)
            {
                var user = new UsuarioIdentity {
                    UserName = Input.Email,
                    Email    = Input.Email,
                    Nome     = Input.Nome
                };

                var usuario = new Usuario
                {
                    Email        = Input.Email,
                    Nome         = Input.Nome,
                    NivelUsuario = _nivelUserRepo.CarregarNivelUsuario(1),
                    IdentityId   = user.Id
                };

                var result = await _userManager.CreateAsync(user, Input.Password);

                if (result.Succeeded)
                {
                    _logger.LogInformation("User created a new account with password.");

                    var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);

                    var callbackUrl = Url.Page(
                        "/Account/ConfirmEmail",
                        pageHandler: null,
                        values: new { userId = user.Id, code = code },
                        protocol: Request.Scheme);

                    await _emailSender.SendEmailAsync(Input.Email, "Confirm your email",
                                                      $"Please confirm your account by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>.");

                    await _signInManager.SignInAsync(user, isPersistent : false);

                    var resultado = await _userRepo.SalvarUsuarioAsync(usuario);

                    return(LocalRedirect(returnUrl));
                }
                foreach (var error in result.Errors)
                {
                    ModelState.AddModelError(string.Empty, error.Description);
                }
            }

            // If we got this far, something failed, redisplay form
            return(Page());
        }
コード例 #3
0
        protected void Application_AuthenticateRequest(object sender, EventArgs e)
        {
            var authCookie = Request.Cookies[FormsAuthentication.FormsCookieName];

            if (authCookie == null)
            {
                return;
            }

            var ticket            = FormsAuthentication.Decrypt(authCookie.Value);
            var pessoaRepositorio = ObjectFactory.GetInstance <IPessoaRepositorio>();
            var pessoa            = pessoaRepositorio.ObterPeloNomeDeUsuario(ticket.Name);
            var identity          = new UsuarioIdentity(pessoa);
            var principal         = new UsuarioPrincipal(identity);

            HttpContext.Current.User = principal;
        }
コード例 #4
0
        public IEnumerable <DtoMenuAcaoList> GetListMenuUsuario(UsuarioIdentity usr, long IdCtaAcessoSist)
        {
            IEnumerable <DtoMenuAcaoList> listaMenu = new List <DtoMenuAcaoList>();

            if (usr != null)
            {
                var lista = this.UfwCartNew.Repositories.RepositoryAcao.GetListMenuUsuario(usr.Id, IdCtaAcessoSist).ToList();
                listaMenu = Mapper.Map <List <MenuAcaoList>, List <DtoMenuAcaoList> >(lista);
            }

            //se não for  admin retirar menus
            //if (usr.Claims.Find(c => (c.Type == "AdminUsers") &&(c.Value == "true")) == null)
            //{

            //}

            return(listaMenu);
        }
コード例 #5
0
        public async Task CambiarEstado(String id)
        {
            UsuarioIdentity usuario = await _context.UsuariosIdentity.FindAsync(id);

            if (usuario.IdEstado == 1)
            {
                int?estado = 2;
                usuario.IdEstado = estado.Value;
                _context.UsuariosIdentity.Update(usuario);
            }
            else if (usuario.IdEstado == 2)
            {
                int?estado = 1;
                usuario.IdEstado = estado.Value;
                _context.UsuariosIdentity.Update(usuario);
            }
            await _context.SaveChangesAsync();
        }
コード例 #6
0
        public async Task <List <IdentityResult> > AddNewUsuario(UsuarioViewModel usuarioViewModel)
        {
            var usuarioIdentity = new UsuarioIdentity();

            usuarioIdentity.Email    = usuarioViewModel.Email;
            usuarioIdentity.UserName = usuarioViewModel.Email;
            List <IdentityResult> identityResults = new List <IdentityResult>();
            var result = await _userManager.CreateAsync(usuarioIdentity);

            var user = await _userManager.FindByEmailAsync(usuarioViewModel.Email);

            identityResults.Add(result);
            if (result.Succeeded)
            {
                var resultSenha = await _userManager.AddPasswordAsync(user, usuarioViewModel.Password);

                identityResults.Add(resultSenha);
            }
            return(identityResults);
        }
コード例 #7
0
        public async Task <ActionResult <Cliente> > EditarEstado(string id)
        {
            UsuarioIdentity usuario = await _context.UsuariosIdentity.FindAsync(id);

            if (usuario.IdEstado == 1)
            {
                int?estado = 2;
                usuario.IdEstado = estado.Value;
                _context.UsuariosIdentity.Update(usuario);
            }
            else if (usuario.IdEstado == 2)
            {
                int?estado = 1;
                usuario.IdEstado = estado.Value;
                _context.UsuariosIdentity.Update(usuario);
            }
            await _context.SaveChangesAsync();

            return(NoContent());
        }
コード例 #8
0
        //POST api/Usuario/Registro
        public async Task <Object> PostUsuario(UsuarioModel usuarioModel)
        {
            UsuarioIdentity usuario = new UsuarioIdentity()
            {
                UserName  = usuarioModel.NombreUsuario,
                Nombre    = usuarioModel.Nombre,
                Email     = usuarioModel.Email,
                Telefono  = usuarioModel.Telefono,
                Direccion = usuarioModel.Direccion
            };

            try
            {
                var resultado = await _userManager.CreateAsync(usuario, usuarioModel.Password).ConfigureAwait(false);

                return(Ok(resultado));
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #9
0
        public PartialViewResult MontarMenuUsuario(string IdUsuario)
        {
            ViewBag.CurrentControler = ControllerContext.ParentActionViewContext.RouteData.Values["controller"].ToString().ToLower();
            ViewBag.CurrentAction    = ControllerContext.ParentActionViewContext.RouteData.Values["action"].ToString().ToLower();

            IEnumerable <DtoMenuAcaoList> Menu = new List <DtoMenuAcaoList>();
            ApplicationUser usrApp             = _userManager.FindById(IdUsuario);
            var             claims             = _userManager.GetClaims(IdUsuario).ToList();

            if (usrApp != null)
            {
                UsuarioIdentity usr = new UsuarioIdentity()
                {
                    Id = usrApp.Id,
                    IdCtaAcessoSist   = usrApp.IdCtaAcessoSist,
                    AccessFailedCount = usrApp.AccessFailedCount,
                    UserName          = usrApp.UserName,
                    Email             = usrApp.Email,
                    Nome                 = usrApp.Nome,
                    Ativo                = usrApp.Ativo,
                    CreateDate           = usrApp.CreateDate,
                    EmailConfirmed       = usrApp.EmailConfirmed,
                    LastLockoutDate      = usrApp.LastLockoutDate,
                    LastLoginDate        = usrApp.LastLoginDate,
                    LastPwdChangedDate   = usrApp.LastPwdChangedDate,
                    LockoutEnabled       = usrApp.LockoutEnabled,
                    PhoneNumber          = usrApp.PhoneNumber,
                    PhoneNumberConfirmed = usrApp.PhoneNumberConfirmed,
                    TwoFactorEnabled     = usrApp.TwoFactorEnabled
                };

                using (AppServiceAcoesUsuarios appService = new AppServiceAcoesUsuarios(this._ufwCartNew, this.IdCtaAcessoSist))
                {
                    Menu = appService.GetListMenuUsuario(usr, this.IdCtaAcessoSist);
                }
            }

            return(PartialView("_MenuUsuario", Menu));
        }
コード例 #10
0
        public async Task <IActionResult> Crearusuario(UsuarioViewModel usuarioViewModel)
        {
            if (ModelState.IsValid)
            {
                UsuarioIdentity usuario = new UsuarioIdentity
                {
                    UserName       = usuarioViewModel.Email,
                    Email          = usuarioViewModel.Email,
                    Nombre         = usuarioViewModel.Nombre,
                    Documento      = usuarioViewModel.Documento,
                    PrecioPorLibra = usuarioViewModel.PrecioPorLibra
                };

                try
                {
                    var result = await _userManager.CreateAsync(usuario, usuarioViewModel.Password);

                    if (result.Succeeded)
                    {
                        TempData["Accion"]  = "Crear";
                        TempData["Mensaje"] = "Usuario creado correctamente";
                        return(RedirectToAction("Index"));
                    }

                    foreach (var error in result.Errors)
                    {
                        ModelState.AddModelError("", error.Description);
                    }
                }
                catch (Exception)
                {
                    ViewData["Roles"] = new SelectList(await _roleManager.Roles.ToListAsync(), "Name", "Name");
                    return(View(usuarioViewModel));
                }
            }
            ViewData["Roles"] = new SelectList(await _roleManager.Roles.ToListAsync(), "Name", "Name");
            return(View(usuarioViewModel));
        }
コード例 #11
0
        public async Task <Object> PostUsuario(UsuarioModel usuarioModel)
        {
            UsuarioIdentity usu = new UsuarioIdentity()
            {
                UserName  = usuarioModel.NombreUsuario,
                Email     = usuarioModel.Email,
                Nombre    = usuarioModel.Nombre,
                idUsuario = usuarioModel.idUsuario,
                IdEstado  = usuarioModel.IdEstado,
                IdRol     = usuarioModel.IdRol
            };

            try
            {
                var result = await _userManager
                             .CreateAsync(usu, usuarioModel.Password).ConfigureAwait(false);

                return(Ok(result));
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #12
0
 private async Task <List <string> > ObtenerRolUsuario(UsuarioIdentity usuario)
 {
     return(new List <string>(await _userManager.GetRolesAsync(usuario)));
 }
コード例 #13
0
 public IEnumerable <DtoMenuAcaoList> GetListMenuUsuario(UsuarioIdentity usr, long IdCtaAcessoSist)
 {
     return(this.DsFactoryCartNew.AcoesUsuariosDs.GetListMenuUsuario(usr, IdCtaAcessoSist).ToList());
 }