public ActionResult TermoCPFARLCR(EspecificidadeVME especificidade) { TermoCPFARLCRBus bus = new TermoCPFARLCRBus(); List <Protocolos> lstProcessosDocumentos = _busTitulo.ObterProcessosDocumentos(especificidade.ProtocoloId); List <AtividadeSolicitada> lstAtividades = new List <AtividadeSolicitada>(); Titulo titulo = new Titulo(); TituloModelo modelo = _tituloModeloBus.Obter(especificidade.ModeloId ?? 0); TermoCPFARLCR termo = new TermoCPFARLCR(); int atividadeSelecionada = 0; if (especificidade.TituloId > 0) { titulo = _busTitulo.ObterSimplificado(especificidade.TituloId); titulo.Atividades = _busTitulo.ObterAtividades(especificidade.TituloId); titulo.Condicionantes = _busTitulo.ObterCondicionantes(especificidade.TituloId); if (titulo.Atividades.Count > 0) { atividadeSelecionada = titulo.Atividades.First().Id; } if (titulo.Situacao.Id == (int)eTituloSituacao.Cadastrado) { termo = bus.Obter(especificidade.TituloId) as TermoCPFARLCR; } else { //termo = bus.ObterHistorico(especificidade.TituloId, 0) as TermoCPFARLCR; termo = bus.Obter(especificidade.TituloId) as TermoCPFARLCR; } especificidade.AtividadeProcDocReq = _busTitulo.ObterProcDocReqEspecificidade(especificidade.TituloId); } if (especificidade.ProtocoloId > 0) { if (_busEspecificidade.ExisteProcDocFilhoQueFoiDesassociado(especificidade.TituloId)) { lstAtividades = new List <AtividadeSolicitada>(); titulo.Atividades = new List <Atividade>(); } else { lstAtividades = _busAtividade.ObterAtividadesLista(especificidade.AtividadeProcDocReq.ToProtocolo()); } if (!especificidade.IsVisualizar) { _busEspecificidade.PossuiAtividadeEmAndamento(especificidade.ProtocoloId); } } if (!Validacao.EhValido) { return(Json(new { Msg = Validacao.Erros, EhValido = Validacao.EhValido, @Html = string.Empty }, JsonRequestBehavior.AllowGet)); } TermoCPFARLCRVM vm = new TermoCPFARLCRVM( lstProcessosDocumentos, lstAtividades, titulo.Condicionantes, termo, especificidade.AtividadeProcDocReqKey, especificidade.IsVisualizar, atividadeSelecionada); if (especificidade.TituloId > 0) { EmpreendimentoBus empreendimentoBus = new EmpreendimentoBus(); DominialidadeBus dominialidadeBus = new DominialidadeBus(); vm.Atividades.Atividades = titulo.Atividades; vm.CedenteDominios = ViewModelHelper.CriarSelectList(dominialidadeBus.ObterDominiosLista(especificidade.EmpreendimentoId), selecionado: termo.CedenteDominioID.ToString()); vm.CedenteReservas = ViewModelHelper.CriarSelectList(dominialidadeBus.ObterARLCompensacaoDominio(termo.CedenteDominioID)); vm.CedenteResponsaveisEmpreendimento = ViewModelHelper.CriarSelectList(empreendimentoBus.ObterResponsaveisComTipo(especificidade.EmpreendimentoId)); vm.ReceptorEmpreendimentos = ViewModelHelper.CriarSelectList( new List <Lista>() { new Lista() { Id = termo.ReceptorEmpreendimentoID.ToString(), Texto = termo.ReceptorEmpreendimentoDenominador } }, selecionado: termo.ReceptorEmpreendimentoID.ToString()); vm.ReceptorDominios = ViewModelHelper.CriarSelectList(dominialidadeBus.ObterDominiosLista(termo.ReceptorEmpreendimentoID), selecionado: termo.ReceptorDominioID.ToString()); vm.ReceptorResponsaveisEmpreendimento = ViewModelHelper.CriarSelectList(empreendimentoBus.ObterResponsaveisComTipo(termo.ReceptorEmpreendimentoID)); } vm.IsCondicionantes = modelo.Regra(eRegra.Condicionantes) || (titulo.Condicionantes != null && titulo.Condicionantes.Count > 0); string htmlEspecificidade = ViewModelHelper.RenderPartialViewToString(ControllerContext, "~/Areas/Especificidades/Views/Termo/TermoCPFARLCR.ascx", vm); return(Json(new { Msg = Validacao.Erros, EhValido = Validacao.EhValido, @Html = htmlEspecificidade }, JsonRequestBehavior.AllowGet)); }