public JsonResult PesquisaCliente(PesquisaClienteModel model)
 {
     var response = ServiceRequest.Post<List<ClienteModel>>(model, "api/Cliente/PesquisarCliente");
     if (response.Data.ObjetoRetorno != null && !response.Data.ObjetoRetorno.Any())
     {
         response.Data.Mensagem = Erros.NoClientForTheGivenFilter;
     }
     return ReturnResponse(response);
 }
        public Task<HttpResponseMessage> PesquisarCliente(PesquisaClienteModel model)
        {
            HttpResponseMessage response;
            try
            {
                if (model.EPessoaFisica)
                {
                    var listaPessoaFisica = _pessoaService.PesquisarPessoaFisica(model.CodigoCliente ?? 0, model.Nome,
                    model.CPFCNPJ, model.Email, TipoPapelPessoaEnum.Cliente);
                    response = ReturnSuccess(Mapper.Map<List<ClienteModel>>(listaPessoaFisica));
                }
                else
                {
                    var listaPessoaJuridica = _pessoaService.PesquisarPessoaJuridica(model.CodigoCliente ?? 0, model.Nome,
                    model.CPFCNPJ, model.Email, TipoPapelPessoaEnum.Cliente);
                    response = ReturnSuccess(Mapper.Map<List<ClienteModel>>(listaPessoaJuridica));
                }
            }
            catch (Exception ex)
            {
                response = ReturnError(ex);
            }

            var tsc = new TaskCompletionSource<HttpResponseMessage>();
            tsc.SetResult(response);
            return tsc.Task;
        }