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, }); }
public void Registrar(UsuarioRegistrarViewModel usuarioRegistrarViewModel) { var usuario = CriarUsuario(usuarioRegistrarViewModel); _usuarioRepositorio.Adicionar(usuario); Save(); }
public ActionResult Registrar(UsuarioRegistrarViewModel model) { if (!ModelState.IsValid) { CarregarDropBancos(); return(View(model)); } _usuarioAppServico.Registrar(model); return(RedirectToAction(nameof(Index))); }
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); }
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")); } }