public void Adicionar(Usuario usuario) { if (usuario.EhInvalido()) { throw new ValidadorException(validationFailures: usuario.ListarErros()); } var usuarioNoContexto = _usuarioRepositorio.BuscarPorLogin(usuario.Login); if (usuarioNoContexto != null) { throw new ValidadorException( message: UsuarioRegras.UsuarioJaCadastrado.Descricao, mostrarParaUsuario: true, ehSomenteAlerta: true); } var pessoaNoContexto = _pessoaRepositorio.BuscarPorEmail(usuario.DadosPessoais.EmailOpcao1); if (pessoaNoContexto != null) { throw new ValidadorException( message: PessoaRegras.EmailJaCadastrado.Descricao, mostrarParaUsuario: true, ehSomenteAlerta: true); } pessoaNoContexto = _pessoaRepositorio.BuscarPorEmail(usuario.DadosPessoais.EmailOpcao2); if (pessoaNoContexto != null) { throw new ValidadorException( message: PessoaRegras.EmailJaCadastrado.Descricao, mostrarParaUsuario: true, ehSomenteAlerta: true); } _usuarioRepositorio.Adicionar(usuario); _pessoaRepositorio.Adicionar(usuario.DadosPessoais); }
public async Task <AutenticacaoResponse> BuscarLoginAsync(LoginRequest usuario) { ValidarLogin(usuario); bool credentialsIsValid = false; if (usuario != null && !string.IsNullOrWhiteSpace(usuario.Login)) { var baseUser = _repositorio.BuscarPorLogin(usuario.Login); credentialsIsValid = (baseUser != null && usuario.Login.Equals(baseUser.Login) && usuario.Senha.Equals(baseUser.Senha)); } if (credentialsIsValid) { ClaimsIdentity identity = new ClaimsIdentity( new GenericIdentity(usuario.Login, "Login"), new[] { new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString("N")), new Claim(JwtRegisteredClaimNames.UniqueName, usuario.Login) } ); DateTime createDate = DateTime.Now; DateTime expirationDate = createDate.AddMinutes(Convert.ToDouble(EnvConstants.TEMPOEXPIRACAOTOKEN)); var handler = new JwtSecurityTokenHandler(); string token = CreateToken(identity, createDate, expirationDate, handler); return(await Task.FromResult(SuccessObject(createDate, expirationDate, token))); } else { return(await Task.FromResult(ExceptionObject())); } }