public async Task <ProfissionalServico> GetByUserIdAsync(int idCliente, string token, int userId) { try { if (await SeguracaServ.ValidaTokenAsync(token)) { lock (_lock) { var result = _pfRepository.GetSingle(p => p.IdCliente.Equals(idCliente) && p.IdUsuario.Equals(userId)); var pServico = _servicoRep.GetSingle(x => x.CodigoExterno.Equals(result.ID)); var servico = _sRep.GetSingle(s => s.ID.Equals(pServico.ServicoId)); pServico.Servico = servico; pServico.Profissional = result; return(pServico); } } else { throw new Exception("Token inválido."); } } catch (Exception e) { throw new Exception("Erro ao efetuar requisição!", e); } }