예제 #1
0
        public ActionResult CertidaoCartaAnuencia(EspecificidadeVME especificidade)
        {
            CertidaoCartaAnuenciaBus   _busCertidaoCartaAnuencia = new CertidaoCartaAnuenciaBus();
            List <Protocolos>          lstProcessosDocumentos    = _busTitulo.ObterProcessosDocumentos(especificidade.ProtocoloId);
            List <AtividadeSolicitada> lstAtividades             = new List <AtividadeSolicitada>();
            List <PessoaLst>           destinatarios             = new List <PessoaLst>();

            Titulo titulo = new Titulo();
            CertidaoCartaAnuencia certidao = new CertidaoCartaAnuencia();

            string htmlEspecificidade = string.Empty;
            int    atividadeId        = 0;

            if (especificidade.TituloId > 0)
            {
                titulo            = _busTitulo.ObterSimplificado(especificidade.TituloId);
                titulo.Atividades = _busTitulo.ObterAtividades(especificidade.TituloId);
                atividadeId       = titulo.Atividades.FirstOrDefault().Id;

                if (titulo.Situacao.Id == (int)eTituloSituacao.Cadastrado)
                {
                    certidao      = _busCertidaoCartaAnuencia.Obter(especificidade.TituloId) as CertidaoCartaAnuencia;
                    destinatarios = _busTitulo.ObterDestinatarios(especificidade.ProtocoloId);
                }
                else
                {
                    certidao = _busCertidaoCartaAnuencia.ObterHistorico(especificidade.TituloId, 0) as CertidaoCartaAnuencia;
                }

                if (certidao != null)
                {
                    especificidade.AtividadeProcDocReq = certidao.ProtocoloReq;
                }
            }

            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);
                }
            }

            CertidaoCartaAnuenciaVM vm = new CertidaoCartaAnuenciaVM(
                certidao,
                lstProcessosDocumentos,
                lstAtividades,
                destinatarios,
                _busCertidaoCartaAnuencia.ObterDominios(especificidade.ProtocoloId),
                especificidade.AtividadeProcDocReqKey,
                atividadeId,
                especificidade.IsVisualizar);

            if (especificidade.TituloId > 0)
            {
                vm.Atividades.Atividades = titulo.Atividades;
            }

            htmlEspecificidade = ViewModelHelper.RenderPartialViewToString(ControllerContext, "~/Areas/Especificidades/Views/Certidao/CertidaoCartaAnuencia.ascx", vm);
            return(Json(new { Msg = Validacao.Erros, EhValido = Validacao.EhValido, @Html = htmlEspecificidade }, JsonRequestBehavior.AllowGet));
        }