Esempio n. 1
0
        public ActionResult OficioNotificacao(EspecificidadeVME especificidade)
        {
            OficioNotificacaoBus       _busPendencia          = new OficioNotificacaoBus();
            List <Protocolos>          lstProcessosDocumentos = _busTitulo.ObterProcessosDocumentos(especificidade.ProtocoloId);
            List <AtividadeSolicitada> lstAtividades          = new List <AtividadeSolicitada>();
            List <PessoaLst>           destinatarios          = new List <PessoaLst>();

            Titulo            titulo             = new Titulo();
            OficioNotificacao oficio             = new OficioNotificacao();
            string            htmlEspecificidade = string.Empty;

            if (especificidade.TituloId > 0)
            {
                titulo = _busTitulo.ObterSimplificado(especificidade.TituloId);

                titulo.Atividades = _busTitulo.ObterAtividades(especificidade.TituloId);

                oficio = _busPendencia.Obter(especificidade.TituloId) as OficioNotificacao;

                if (oficio != null)
                {
                    especificidade.AtividadeProcDocReq = oficio.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 (titulo.Situacao.Id == (int)eTituloSituacao.Cadastrado || titulo.Situacao.Id == (int)eTituloSituacao.Nulo)
                {
                    destinatarios = _busTitulo.ObterDestinatarios(especificidade.ProtocoloId);
                }
                else
                {
                    destinatarios.Add(new PessoaLst()
                    {
                        Id = oficio.Destinatario.GetValueOrDefault(), Texto = oficio.DestinatarioNomeRazao ?? "", IsAtivo = true
                    });
                }

                if (!especificidade.IsVisualizar)
                {
                    _busEspecificidade.PossuiAtividadeEmAndamento(especificidade.ProtocoloId);
                }
            }

            OficioNotificacaoVM vm = new OficioNotificacaoVM(lstProcessosDocumentos, lstAtividades, destinatarios,
                                                             especificidade.AtividadeProcDocReqKey, especificidade.IsVisualizar);

            vm.Oficio = oficio;

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

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