public ActionResult ConsultarSpc([Bind(Include = "ContaPesquisaId, Reprocessar, CondicaoPagamentoId, LimiteCredito, Observacao")] AnaliseCreditoViewModel viewModel) { WsSPC.ConsultaSpcResponse consultaSpc = new WsSPC.ConsultaSpcResponse(); // _analiseCreditoRepositorio.GravarBlackList(); var contaBusca = _contaRepositorio.ObterContaPorIdAnalise(viewModel.ContaPesquisaId); ContaId = viewModel.ContaPesquisaId; var consultaspcnew = 0; if (contaBusca == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, "Cliente não encontrado")); } if (contaBusca.Blacklist == true) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, "Cliente não tem permissão para consultar SPC")); } string tipoPessoa = contaBusca.ClassificacaoFiscal == ClassificacaoFiscal.PF ? "F" : "J"; string hash = "d41d8cd98f00b204e9800998ecf8427e"; var analiseCreditoBusca = _analiseCreditoRepositorio.ObterConsultaSpc(contaBusca.Id); if (viewModel.Reprocessar == false) { if (analiseCreditoBusca == null) { // pesquisa no web service consultaspcnew = 1; consultaSpc = _wsSPC.ConsultarSPC( tipoPessoa, contaBusca.Documento.RemoverCaracteresEspeciaisDocumento(), User.ObterId().ToString(), hash); } else { if (!ConsultaVigente(contaBusca, analiseCreditoBusca)) { // pesquisa no web service consultaspcnew = 1; consultaSpc = _wsSPC.ConsultarSPC( tipoPessoa, contaBusca.Documento.RemoverCaracteresEspeciaisDocumento(), User.ObterId().ToString(), hash); } else { // pesquisa no banco consultaSpc = _wsSPC.ConsultarBancoDeDados(contaBusca.Id.ToString(), hash); } } } else { // sempre pesquisa no web service consultaspcnew = 1; consultaSpc = _wsSPC.ConsultarSPC( tipoPessoa, contaBusca.Documento.RemoverCaracteresEspeciaisDocumento(), User.ObterId().ToString(), hash); } viewModel.ResultadoSPC = consultaSpc; if (consultaspcnew == 1) { var resultadofat = _analiseCreditoRepositorio.GravarPendenciasFinanceiras(contaBusca.Documento.RemoverCaracteresEspeciaisDocumento()); } return(PartialView("_ResultadoSpc", viewModel)); }