Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        public IActionResult Get(int id)
        {
            var usuario = usuarioRepository.Obter(id);

            if (usuario == null)
            {
                return(NotFound());
            }
            UsuarioResponseDto usuarioResponseDto = new UsuarioResponseDto(usuario);

            return(Ok(usuarioResponseDto));
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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));
        }
Esempio n. 5
0
        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));
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
        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))
                }
            });
        }