public ActionResult ObterMotosserra(int motosserraId, int destinatarioId, int tituloId)
        {
            LicencaPorteUsoMotosserraBus _bus = new LicencaPorteUsoMotosserraBus();

            if (!_bus.LicencaValidar.AssociarMotosserra(motosserraId, destinatarioId, tituloId))
            {
                return(Json(new { @EhValido = Validacao.EhValido, @Msg = Validacao.Erros }, JsonRequestBehavior.AllowGet));
            }

            Motosserra motosserra = _bus.ObterMotosserra(motosserraId);

            return(Json(new { @EhValido = Validacao.EhValido, @Msg = Validacao.Erros, @Motosserra = motosserra }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult LicencaPorteUsoMotosserra(EspecificidadeVME especificidade)
        {
            LicencaPorteUsoMotosserraBus bus = new LicencaPorteUsoMotosserraBus();
            List <Protocolos>            lstProcessosDocumentos = _busTitulo.ObterProcessosDocumentos(especificidade.ProtocoloId);
            List <AtividadeSolicitada>   lstAtividades          = new List <AtividadeSolicitada>();
            List <PessoaLst>             destinatarios          = new List <PessoaLst>();

            Titulo       titulo = new Titulo();
            TituloModelo modelo = _tituloModeloBus.Obter(especificidade.ModeloId ?? 0);
            LicencaPorteUsoMotosserra licenca = new LicencaPorteUsoMotosserra();

            if (especificidade.TituloId > 0)
            {
                titulo = _busTitulo.Obter(especificidade.TituloId);
                titulo.Condicionantes = _busTitulo.ObterCondicionantes(especificidade.TituloId);

                licenca = bus.Obter(especificidade.TituloId) as LicencaPorteUsoMotosserra;

                if (!especificidade.IsVisualizar)
                {
                    licenca.Motosserra = bus.ObterMotosserra(licenca.Motosserra.Id);
                }

                if (licenca != null)
                {
                    especificidade.AtividadeProcDocReq = licenca.ProtocoloReq;
                    licenca.TitulosAssociado           = (titulo.ToEspecificidade() ?? new Especificidade()).TitulosAssociado;
                }
            }

            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)
                {
                    destinatarios = _busTitulo.ObterDestinatarios(especificidade.ProtocoloId);
                }
                else
                {
                    destinatarios.Add(new PessoaLst()
                    {
                        Id = licenca.Destinatario, Texto = licenca.DestinatarioNomeRazao, IsAtivo = true
                    });
                }

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

            if (!Validacao.EhValido)
            {
                return(Json(new { Msg = Validacao.Erros, EhValido = Validacao.EhValido, @Html = string.Empty }, JsonRequestBehavior.AllowGet));
            }

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

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

            string htmlEspecificidade = ViewModelHelper.RenderPartialViewToString(ControllerContext, "~/Areas/Especificidades/Views/Licenca/LicencaPorteUsoMotosserra.ascx", vm);

            return(Json(new { Msg = Validacao.Erros, EhValido = Validacao.EhValido, @Html = htmlEspecificidade }, JsonRequestBehavior.AllowGet));
        }