public async Task <IActionResult> SolicitarIngreso([FromBody] UsuarioSolicitudIngresoDto usuarioSolicitudIngresoDto) { var respuesta = new RespuestaApiDto(); try { var usuarioValido = usuarioSolicitudIngresoDto.EsValido(); if (!usuarioValido.Key) { respuesta.Codigo = -1; respuesta.Mensaje = usuarioValido.Value; } else { var usuarioEntity = await _usuarioRepository.ObtenerUsuarioPorCorreo(usuarioSolicitudIngresoDto.Correo); if (usuarioEntity == null) { respuesta.Codigo = -1; respuesta.Mensaje = "usuario y/o contraseña equivocados"; } else { var hashPass = Crypto.CrearHashSHA256(usuarioSolicitudIngresoDto.Contrasenna, usuarioEntity.SaltContrasenna); if (usuarioEntity.Bloqueado == true) { respuesta.Codigo = -2; respuesta.Mensaje = "usuario bloqueado"; } else if (usuarioEntity.CorreoValidado == false) { respuesta.Codigo = -3; respuesta.Mensaje = "usuario sin correo validado"; } else if (!usuarioEntity.HashContrasenna.Equals(hashPass)) { respuesta.Codigo = -4; respuesta.Mensaje = "usuario y/o contraseña equivocados"; var bloqueado = await _usuarioRepository.AumentarIntentoUsuario(usuarioEntity.Id); } else { respuesta.Codigo = 1; respuesta.Mensaje = "usuario valido"; respuesta.ObjetoRespuesta = JwtHelper.GenerarToken(usuarioEntity); } //respuesta.ObjetoRespuesta = usuarioEntity.ToDto(); } } } catch (Exception ex) { _logger.LogError(ex, $"fallo en Post Solicitar Ingreso: {ex}"); respuesta.Codigo = 500; respuesta.Mensaje = "Excepción, consultar log."; } return(Ok(respuesta)); }