public IActionResult Post([FromBody] UsuarioDto usuarioRequest) { var usuario = MapearUsuarioDtoParaDominio(usuarioRequest); var inconsistencias = UsuarioService.Validar(usuario); if (inconsistencias.Any()) { return(BadRequest(inconsistencias)); } usuarioRepository.Salvar(usuario); context.SaveChanges(); var usuarioResponse = new UsuarioResponseDto( usuario.PrimeiroNome, usuario.UltimoNome, usuario.CPF, usuario.DataNascimento, usuario.Login, usuario.Admin, usuario.Reservas ); return(Ok(usuarioResponse)); }
public IActionResult Get(int id) { var usuario = usuarioRepository.Obter(id); if (usuario == null) { return(NotFound()); } UsuarioResponseDto usuarioResponseDto = new UsuarioResponseDto(usuario); return(Ok(usuarioResponseDto)); }
private UsuarioResponseDto MapearDominioParaResponse(Usuario usuario) { var usuarioResponse = new UsuarioResponseDto(); usuarioResponse.PrimeiroNome = usuario.PrimeiroNome; usuarioResponse.UltimoNome = usuario.UltimoNome; usuarioResponse.Cpf = usuario.Cpf; usuarioResponse.DataDeNascimento = usuario.DataDeNascimento; usuarioResponse.Email = usuario.Email; usuarioResponse.Id = usuario.Id; return(usuarioResponse); }
public async Task <IActionResult> Put(int id, UsuarioResponseDto usuarioResponse) { var usuario = _mapper.Map <User>(usuarioResponse); usuario.Id = id; usuario.UpdateAt = DateTime.Now; usuario.UpdatedBy = 1; await _usuarioService.UpdateUsuario(usuario); var result = new ApiResponse <bool>(true); return(Ok(result)); }
public IActionResult Get(int idUsuario) { var usuario = usuarioRepository.GetUsuario(idUsuario); var usuarioResponse = new UsuarioResponseDto( usuario.PrimeiroNome, usuario.UltimoNome, usuario.CPF, usuario.DataNascimento, usuario.Login, usuario.Admin, usuario.Reservas ); return(Ok(usuarioResponse)); }
private ClaimsIdentity ObterClaims(UsuarioResponseDto usuario) { List <Claim> claims = new List <Claim>(); claims.Add(new Claim(JwtRegisteredClaimNames.Sub, usuario.Id.ToString())); claims.Add(new Claim(JwtRegisteredClaimNames.Email, usuario.Email)); claims.Add(new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString())); claims.Add(new Claim(JwtRegisteredClaimNames.Nbf, ToUnixEpochDate(DateTime.UtcNow).ToString())); claims.Add(new Claim(JwtRegisteredClaimNames.Iat, ToUnixEpochDate(DateTime.UtcNow).ToString(), ClaimValueTypes.Integer64)); claims.Add(new Claim(ClaimAuthorizeName.Categoria, usuario.Perfil)); var identityClaims = new ClaimsIdentity(); identityClaims.AddClaims(claims); return(identityClaims); }
public async Task <LoginResponseDto> ObterResponseToken(UsuarioResponseDto usuario) { var identityClaims = ObterClaims(usuario); var perfilUsuario = await _repository.ObterPerfilUsuario(usuario.Id); AddClaimsUsuario(identityClaims, perfilUsuario); var encondedToken = GerarEncodedToken(identityClaims); return(new LoginResponseDto { AccessToken = encondedToken, ExpiresIn = TimeSpan.FromHours(_settings.ExpiracaoHoras).TotalSeconds, UsuarioToken = new UsuarioTokenDto { Id = usuario.Id, Email = usuario.Email, Claims = identityClaims.Claims.Select(c => new ClaimDto(c.Type, c.Value)) } }); }