Exemplo n.º 1
0
        public static TabUsuario Obtener(UsuarioRegistrarViewModel usuario)
        {
            IPasswordHasher passwordHasher = null;
            IdentityResult  validador      = null;

            if (!ContraseñaValida(usuario.Contraseña, out passwordHasher, out validador))
            {
                throw new ContraseñaInvalidaException(string.Join(",", validador.Errors));
            }

            if (passwordHasher == null)
            {
                passwordHasher = new PasswordHasher();
            }

            var passwordHash = passwordHasher.HashPassword(usuario.Contraseña);
            var hashCode     = Guid.NewGuid().ToString();

            return(new TabUsuario()
            {
                Ci2AutenticacionDosEtapasActivado = false,
                Ci2BloqueoActivado = false,
                Ci2CorreoElectronico = usuario.CorreoElectronico,
                Ci2CorreoElectronicoConfirmado = false,
                Ci2FechaBloqueoUtc = null,
                Ci2NombreUsuario = usuario.NombreUsuario,
                Ci2NumeroAccesosFallidos = 0,
                Ci2NumeroTelefonico = usuario.NumeroTelefonico,
                Ci2NumeroTelefonicoConfirmado = false,
                Ci2PasswordHash = passwordHash,
                Ci2SecurityStamp = hashCode,
            });
        }
Exemplo n.º 2
0
        public void Registrar(UsuarioRegistrarViewModel usuarioRegistrarViewModel)
        {
            var usuario = CriarUsuario(usuarioRegistrarViewModel);

            _usuarioRepositorio.Adicionar(usuario);
            Save();
        }
Exemplo n.º 3
0
        public ActionResult Registrar(UsuarioRegistrarViewModel model)
        {
            if (!ModelState.IsValid)
            {
                CarregarDropBancos();

                return(View(model));
            }

            _usuarioAppServico.Registrar(model);

            return(RedirectToAction(nameof(Index)));
        }
Exemplo n.º 4
0
        private Usuario CriarUsuario(UsuarioRegistrarViewModel usuarioRegistrarViewModel)
        {
            var nomeCompleto = new Nome(usuarioRegistrarViewModel.Nome);
            var banco        = _bancoRepositorio.ObterPorId(usuarioRegistrarViewModel.BancoId);

            if (banco == null)
            {
                DomainNotification.CriarNotificacao("BancoNaoEncontrado", "Não foi possível localizar o banco informado.");
                return(null);
            }

            var saldo = new Saldo(usuarioRegistrarViewModel.SaldoInicial);
            var conta = new Conta(banco, saldo);

            var usuario = new Usuario(nomeCompleto, conta);

            return(usuario);
        }
Exemplo n.º 5
0
        public ActionResult Registrar(UsuarioRegistrarViewModel usuario)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    TabUsuario usuarioBD = Convertidor.Obtener(usuario);
                    UnidadDeTrabajo.UsuarioRepositorio.AgregarOActualizar(usuarioBD);

                    return(RedirectToAction("Index"));
                }
                else
                {
                    return(View(usuario));
                }
            }
            catch (ContraseñaInvalidaException ex)
            {
                ModelState.AddModelError("Contraseña", "La contraseña no es lo suficientemente segura. Por favor ingrese una contraseña de mayor complejidad");
                return(View(usuario));
            }
            catch (NombreDeUsuarioEnUsoException ex)
            {
                ModelState.AddModelError("NombreUsuario", "El usuario [" + ex.NombreDeUsuarioEnUso + "] ya existe en el sistema. Por favor ingrese un nombre de usuario diferente.");

                return(View(usuario));
            }
            catch (CorreoElectronicoInvalidoException ex)
            {
                ModelState.AddModelError("CorreoElectronico", "El correo electronico no tiene un formato valido.");

                return(View(usuario));
            }
            catch (Exception ex)
            {
                return(RedirectToAction("Index"));
            }
        }