Exemplo n.º 1
0
        /// <summary>
        /// Carrega a estrutura do relatório
        /// </summary>
        /// <param name="rea_id"></param>
        /// <param name="usu_id"></param>
        /// <param name="appMinutosCacheLongo"></param>
        /// <returns></returns>
        public static RelatorioAtendimento SelecionaRelatorio(int rea_id, Guid usu_id, int appMinutosCacheLongo = 0)
        {
            Func <RelatorioAtendimento> retorno = delegate()
            {
                RelatorioAtendimento rel = new RelatorioAtendimento();
                using (DataSet ds = new CLS_RelatorioAtendimentoDAO().SelecionaRelatorio(rea_id, usu_id))
                {
                    using (DataTable dtRelatorio = ds.Tables[0],
                           dtGrupoPermissao = ds.Tables[1],
                           dtCargoPermissao = ds.Tables[2],
                           dtQuestionario = ds.Tables[3],
                           dtQuestionarioConteudo = ds.Tables[4],
                           dtQuestionarioResposta = ds.Tables[5])
                    {
                        if (dtRelatorio.Rows.Count > 0)
                        {
                            rel = dtRelatorio.Rows[0].ToEntity <RelatorioAtendimento>();
                            rel.lstGrupoPermissao = dtGrupoPermissao.ToEntityList <CLS_RelatorioAtendimentoGrupo>();
                            rel.lstCargoPermissao = dtCargoPermissao.ToEntityList <CLS_RelatorioAtendimentoCargo>();
                            List <Questionario>             lstQuestionario         = dtQuestionario.ToEntityList <Questionario>();
                            List <QuestionarioConteudo>     lstQuestionarioConteudo = dtQuestionarioConteudo.ToEntityList <QuestionarioConteudo>();
                            List <CLS_QuestionarioResposta> lstQuestionarioResposta = dtQuestionarioResposta.ToEntityList <CLS_QuestionarioResposta>();

                            lstQuestionarioConteudo.ForEach(c => c.lstRepostas = lstQuestionarioResposta.Where(r => r.qtc_id == c.qtc_id).OrderBy(r => r.qtr_ordem).ToList());
                            lstQuestionario.ForEach(q => q.lstConteudo         = lstQuestionarioConteudo.Where(c => c.qst_id == q.qst_id).OrderBy(c => c.qtc_ordem).ToList());
                            rel.lstQuestionario = lstQuestionario.OrderBy(q => q.raq_ordem).ToList();
                        }

                        return(rel);
                    }
                }
            };

            return(CacheManager.Factory.Get
                   (
                       string.Format(ModelCache.RELATORIO_ATENDIMENTO_BUSCA_ESTRUTURA_RELATORIO_KEY, rea_id, usu_id)
                       ,
                       retorno
                       ,
                       appMinutosCacheLongo
                   ));
        }
Exemplo n.º 2
0
        private void UCCRelatorioAtendimento_IndexChanged()
        {
            if (UCCRelatorioAtendimento.Valor > 0)
            {
                try
                {
                    // Desabilita o combo
                    UCCRelatorioAtendimento.PermiteEditar = false;
                    litLancamento.Text = UCCRelatorioAtendimento.Texto;

                    // Seleciona as permissões do usuário no relatório
                    MSTech.GestaoEscolar.BLL.RelatorioAtendimento relatorioAtendimento = CLS_RelatorioAtendimentoBO.SelecionaRelatorio(UCCRelatorioAtendimento.Valor, __SessionWEB.__UsuarioWEB.Usuario.usu_id, ApplicationWEB.AppMinutosCacheLongo);
                    sPermissoesNAAPA permissoesNaapa = new sPermissoesNAAPA();
                    permissoesNaapa.permissaoEdicao = relatorioAtendimento.lstCargoPermissao.Any(p => p.rac_permissaoEdicao) ||
                                                      relatorioAtendimento.lstGrupoPermissao.Any(p => p.rag_permissaoEdicao);
                    permissoesNaapa.permissaoConsulta = relatorioAtendimento.lstCargoPermissao.Any(p => p.rac_permissaoConsulta) ||
                                                        relatorioAtendimento.lstGrupoPermissao.Any(p => p.rag_permissaoConsulta) ||
                                                        permissoesNaapa.permissaoEdicao;
                    permissoesNaapa.permissaoExclusao = relatorioAtendimento.lstCargoPermissao.Any(p => p.rac_permissaoExclusao) ||
                                                        relatorioAtendimento.lstGrupoPermissao.Any(p => p.rag_permissaoExclusao);
                    VS_permissoesNAAPA = permissoesNaapa;

                    SetarTelaPermissao();

                    grvLancamentos.DataSource = CLS_RelatorioPreenchimentoAlunoTurmaDisciplinaBO.SelecionaPorAlunoTurmaRelatorio(VS_alu_id, VS_tur_id, UCCRelatorioAtendimento.Valor);
                    grvLancamentos.DataBind();
                }
                catch (Exception ex)
                {
                    ApplicationWEB._GravaErro(ex);
                    lblMensagem.Text = UtilBO.GetErroMessage("Erro ao tentar carregar lançamentos.", UtilBO.TipoMensagem.Erro);
                }
            }
            else
            {
                fdsLancamento.Visible = false;
                btnNovo.Visible       = false;
            }
        }
Exemplo n.º 3
0
        private void UCCRelatorioAtendimento_IndexChanged()
        {
            if (UCCRelatorioAtendimento.Valor > 0)
            {
                try
                {
                    CLS_RelatorioAtendimento relatorio = CLS_RelatorioAtendimentoBO.GetEntity(new CLS_RelatorioAtendimento {
                        rea_id = UCCRelatorioAtendimento.Valor
                    });

                    // Seleciona as permissões do usuário no relatório
                    MSTech.GestaoEscolar.BLL.RelatorioAtendimento relatorioAtendimento = CLS_RelatorioAtendimentoBO.SelecionaRelatorio(relatorio.rea_id, __SessionWEB.__UsuarioWEB.Usuario.usu_id, ApplicationWEB.AppMinutosCacheLongo);
                    sPermissoesRP permissoesRP = new sPermissoesRP();
                    permissoesRP.permissaoEdicao = relatorioAtendimento.lstCargoPermissao.Any(p => p.rac_permissaoEdicao) ||
                                                   relatorioAtendimento.lstGrupoPermissao.Any(p => p.rag_permissaoEdicao);
                    permissoesRP.permissaoConsulta = relatorioAtendimento.lstCargoPermissao.Any(p => p.rac_permissaoConsulta) ||
                                                     relatorioAtendimento.lstGrupoPermissao.Any(p => p.rag_permissaoConsulta) ||
                                                     permissoesRP.permissaoEdicao;
                    permissoesRP.permissaoExclusao = relatorioAtendimento.lstCargoPermissao.Any(p => p.rac_permissaoExclusao) ||
                                                     relatorioAtendimento.lstGrupoPermissao.Any(p => p.rag_permissaoExclusao);
                    VS_permissoesRP = permissoesRP;

                    VS_periodicidadePreenchimento = relatorio.rea_periodicidadePreenchimento;
                    //SetarTelaPermissao();

                    long tur_id, tud_id;
                    RetornaTurTudIDCombo(out tur_id, out tud_id);

                    if (VS_periodicidadePreenchimento == (byte)CLS_RelatorioAtendimentoPeriodicidade.Periodico)
                    {
                        // Carrega o combo de períodos do calendário
                        UCCPeriodoCalendario.CarregarPorTurma(tur_id);
                    }
                    else
                    {
                        UCCPeriodoCalendario.CarregarPorRelatorioAtendimento(UCCRelatorioAtendimento.Valor, tur_id);
                    }

                    UCCPeriodoCalendario.Visible       = true;
                    UCCPeriodoCalendario.PermiteEditar = true;

                    if (VS_Tpc_id_TelaAnterior > 0 && UCCPeriodoCalendario.QuantidadeItensCombo > 1)
                    {
                        UCCPeriodoCalendario.Tpc_ID = VS_Tpc_id_TelaAnterior;
                    }

                    // Desabilita o combo
                    UCCRelatorioAtendimento.PermiteEditar = (UCCPeriodoCalendario.QuantidadeItensCombo <= 1);

                    UCCPeriodoCalendario_IndexChanged();
                }
                catch (Exception ex)
                {
                    ApplicationWEB._GravaErro(ex);
                    lblMensagem.Text = UtilBO.GetErroMessage("Erro ao tentar carregar anotações.", UtilBO.TipoMensagem.Erro);
                }
            }
            else
            {
                fdsLancamento.Visible = false;
                btnNovo.Visible       = false;
            }
        }