public async Task <IActionResult> Create([FromBody] UsuarioResource usuarioResource) { if (usuarioResource == null) { return(NotFound()); } try { var usuario = new Usuario(); if (ModelState.IsValid) { usuario = UsuarioResource.UsuarioMapper.ResourceToModel(usuarioResource, usuario); } _unitOfWork.Usuarios.Add(usuario); await _unitOfWork.CompleteAsync(); UsuarioResource.UsuarioMapper.ModelToResource(usuario); return(Ok(usuario)); } catch (Exception exception) { //LogError.LogErrorWithSentry(exception); return(BadRequest()); } }
public async Task <IActionResult> Login([FromBody] UsuarioResource usuarioResource) { if (usuarioResource.UsuarioCorreo == null) { return(BadRequest()); } var usuario = await _autenticacionUseCase.BuscarUsuarioPorCorreo(usuarioResource.UsuarioCorreo); if (usuario == null) { return(BadRequest("El usuario no existe")); } var validarPassword = await _autenticacionUseCase.VerificarPassword(usuario); if (!validarPassword) { return(BadRequest("El usuario no existe")); } var alumno = await _autenticacionUseCase.BuscarAlumno(usuario.UsuarioCorreo); if (alumno == null) { return(null); } var secretKey = _configuration.GetValue <string>("SecretKey"); var key = Encoding.ASCII.GetBytes(secretKey); var claims = new[] { new Claim(ClaimTypes.NameIdentifier, usuario.UsuarioCorreo) }; var tokenDescriptor = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(claims), Expires = DateTime.UtcNow.AddDays(1), SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256) }; var tokenHandler = new JwtSecurityTokenHandler(); var createdToken = tokenHandler.CreateToken(tokenDescriptor); return(Ok(new AuthResource { Role = "admin", Data = new Resources.Data { Token = tokenHandler.WriteToken(createdToken), IdAlumno = alumno.IdAlumno, CicloDescripcion = alumno.Ciclo.CicloDescripcion, AlumnoNombre = alumno.AlumnoNombre, AlumnoApellidos = alumno.AlumnoApellidos, AlumnoEmail = alumno.AlumnoEmail, AlumnoCodigoUniversitario = alumno.AlumnoCodigoUniversitario } })); }
public async Task <IActionResult> Create([FromBody] UsuarioResource usuarioResource) { if (usuarioResource == null) { return(NotFound()); } try { var usuario = new Usuario(); var listOfUsuarioRoles = new List <UsuarioRole>(); if (ModelState.IsValid) { usuario = UsuarioMapper.ResourceToModel(usuarioResource, usuario); } _unitOfWork.Usuarios.Add(usuario); await _unitOfWork.CompleteAsync(); foreach (int roleId in usuarioResource.RoleIds) { listOfUsuarioRoles.Add(new UsuarioRole() { RoleId = roleId, UsuarioId = usuario.Id }); } _unitOfWork.UsuarioRoles.AddRange(listOfUsuarioRoles); await _unitOfWork.CompleteAsync(); UsuarioMapper.ModelToResource(usuario); return(Ok(usuario)); } catch (Exception exception) { LogError.LogErrorWithSentry(exception); return(BadRequest()); } }
public async Task <IActionResult> Edit(int id, [FromBody] UsuarioResource usuarioResource) { try { var usuario = await _unitOfWork.Usuarios.GetByIdAsync(id); if (ModelState.IsValid) { usuario = UsuarioResource.UsuarioMapper.ResourceToModel(usuarioResource, usuario); await _unitOfWork.CompleteAsync(); UsuarioResource.UsuarioMapper.ModelToResource(usuario); } return(Ok(usuario)); } catch (Exception e) { //LogError.LogErrorWithSentry(e); return(BadRequest(ModelState)); } }
public async Task <IActionResult> GetUsuario([FromRoute] int usuarioId) { UsuarioResource usuario = _mapper.Map <UsuarioResource>(await _iunitOfWork.Usuarios.Get(usuarioId)); return(Ok(usuario)); }