public ActionResult Visualizar(int id) { bool existeCredenciado = _bus.ExisteCredenciado(id); CARSolicitacao solicitacao = null; CARSolicitacao solicitacaoAux = existeCredenciado ? _busCredenciado.Obter(id) : _bus.Obter(id, false); if (solicitacaoAux.SituacaoId != (int)eCARSolicitacaoSituacao.EmCadastro && solicitacaoAux.SituacaoId != (int)eCARSolicitacaoSituacao.Pendente) { //Obtem ultimo valido, porem mantem a situacao atual int situacaoAtual = solicitacaoAux.SituacaoId; solicitacao = existeCredenciado ? _busCredenciado.ObterHistoricoPrimeiraSituacao(solicitacaoAux.Id, eCARSolicitacaoSituacao.Valido) : _bus.ObterHistoricoPrimeiraSituacao(solicitacaoAux.Id, eCARSolicitacaoSituacao.Valido); if (solicitacao.Id <= 0) { solicitacao = existeCredenciado ? _busCredenciado.ObterHistoricoPrimeiraSituacao(solicitacaoAux.Id, eCARSolicitacaoSituacao.SubstituidoPeloTituloCAR) : _bus.ObterHistoricoPrimeiraSituacao(solicitacaoAux.Id, eCARSolicitacaoSituacao.SubstituidoPeloTituloCAR); } if (solicitacao.Id <= 0) { solicitacao = solicitacaoAux; } solicitacao.SituacaoId = situacaoAtual; } #region Configurar List <Protocolos> lstProcessosDocumentos = new List <Protocolos>() { new Protocolos() { IsAtivo = true, Id = solicitacao.ProtocoloSelecionado.Id.ToString() + "@" + (solicitacao.ProtocoloSelecionado.IsProcesso ? 1 : 2) + "@" + solicitacao.Requerimento.Id.ToString(), Texto = solicitacao.Requerimento.Id.ToString() + " - " + solicitacao.Requerimento.DataCadastroTexto } }; List <PessoaLst> lstResponsaveis = new List <PessoaLst>() { new PessoaLst() { IsAtivo = true, Id = solicitacao.Declarante.Id, Texto = solicitacao.Declarante.NomeRazaoSocial } }; CARSolicitacaoVM vm = new CARSolicitacaoVM( solicitacao, _busLista.CadastroAmbientalRuralSolicitacaoSituacao, lstProcessosDocumentos, _busLista.AtividadesSolicitada, lstResponsaveis, isVisualizar: true); vm.IsCredenciado = existeCredenciado; #endregion Configurar return(View(vm)); }