コード例 #1
0
        /// <summary>
        /// Método para salvar um informativo.
        /// </summary>
        private void Salvar()
        {
            try
            {
                bool permiteEditar = true;

                if (__SessionWEB.__UsuarioWEB.Docente.doc_id > 0)
                {
                    long tud_id      = UCCTurmaDisciplina1.Valor;
                    byte tdt_posicao = TUR_TurmaDocenteBO.SelecionaPosicaoPorDocenteTurma(__SessionWEB.__UsuarioWEB.Docente.doc_id, tud_id, ApplicationWEB.AppMinutosCacheLongo);
                    permiteEditar = CFG_PermissaoDocenteBO.SelecionaPermissaoModulo(tdt_posicao, (byte)EnumModuloPermissao.Compensacoes)
                                    .Any(p => p.pdc_permissaoEdicao);
                }

                if (permiteEditar)
                {
                    if (Convert.ToInt32(txtQtAulas.Text) == 0)
                    {
                        throw new ValidationException("Quantidade de aulas compensadas deve ser um número maior do que zero.");
                    }

                    CLS_CompensacaoAusencia entCompensacao = new CLS_CompensacaoAusencia();
                    entCompensacao.cpa_id = VS_cpa_id;
                    entCompensacao.tud_id = UCCTurmaDisciplina1.Valor;
                    entCompensacao.tpc_id = UCCPeriodoCalendario.Valor[0];
                    entCompensacao.cpa_atividadesDesenvolvidas    = txtAtividades.Text;
                    entCompensacao.cpa_quantidadeAulasCompensadas = Convert.ToInt32(txtQtAulas.Text);
                    entCompensacao.pro_id       = VS_pro_id;
                    entCompensacao.cpa_situacao = 1;
                    entCompensacao.IsNew        = VS_cpa_id < 0;

                    List <CLS_CompensacaoAusenciaAluno> listCompensacaoAluno = new List <CLS_CompensacaoAusenciaAluno>();

                    foreach (RepeaterItem item in rptAlunos.Items)
                    {
                        CheckBox ckbAluno = (CheckBox)item.FindControl("ckbAluno");
                        if (ckbAluno != null && ckbAluno.Checked)
                        {
                            HiddenField hdnId = (HiddenField)item.FindControl("hdnId");
                            if (hdnId != null)
                            {
                                string[] valor = hdnId.Value.Split(';');
                                CLS_CompensacaoAusenciaAluno compAluno = new CLS_CompensacaoAusenciaAluno
                                {
                                    tud_id = Convert.ToInt64(valor[0]),
                                    cpa_id = Convert.ToInt32(entCompensacao.cpa_id),
                                    alu_id = Convert.ToInt64(valor[1]),
                                    mtu_id = Convert.ToInt32(valor[2]),
                                    mtd_id = Convert.ToInt32(valor[3])
                                };

                                listCompensacaoAluno.Add(compAluno);
                            }
                        }
                    }

                    if (listCompensacaoAluno.Count == 0)
                    {
                        throw new ValidationException("É necessário selecionar pelo menos um aluno para realizar a compensação.");
                    }

                    if (CLS_CompensacaoAusenciaBO.Save(entCompensacao, listCompensacaoAluno, VS_FechamentoAutomatico, UCComboCalendario.Valor))
                    {
                        ApplicationWEB._GravaLogSistema(VS_cpa_id > 0 ? LOG_SistemaTipo.Update : LOG_SistemaTipo.Insert, "cpa_id: " + entCompensacao.cpa_id + " tud_id: " + entCompensacao.tud_id);
                        __SessionWEB.PostMessages = UtilBO.GetErroMessage("Compensação de ausência " + (VS_cpa_id > 0 ? "alterada" : "incluída") + " com sucesso.", UtilBO.TipoMensagem.Sucesso);

                        VS_QtAulasComp = 0;

                        VerificaPaginaRedirecionar();
                    }
                }
                else
                {
                    string msg = String.Format("O docente não possui permissão para incluir compensações de ausência para o(a) {0} selecionado(a).", GetGlobalResourceObject("Mensagens", "MSG_DISCIPLINA_MIN"));
                    lblMessage.Text = UtilBO.GetErroMessage(msg, UtilBO.TipoMensagem.Alerta);
                }
            }
            catch (ValidationException e)
            {
                lblMessage.Text = UtilBO.GetErroMessage(e.Message, UtilBO.TipoMensagem.Alerta);
            }
            catch (ArgumentException e)
            {
                lblMessage.Text = UtilBO.GetErroMessage(e.Message, UtilBO.TipoMensagem.Alerta);
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar salvar compensação de ausência.", UtilBO.TipoMensagem.Erro);
            }
        }
コード例 #2
0
ファイル: Busca.aspx.cs プロジェクト: Mualumene/SGP
        /// <summary>
        /// Realiza a consulta pelos filtros informados.
        /// </summary>
        private void Pesquisar()
        {
            try
            {
                Dictionary <string, string> filtros = new Dictionary <string, string>();

                bool permiteConsultar = true;
                List <sPermissaoDocente> ltPermissao = new List <sPermissaoDocente>();
                EnumTipoDocente          tipoDocente = EnumTipoDocente.Titular;
                if (_VS_doc_id > 0)
                {
                    long tud_id = UCCTurmaDisciplina1.Valor;
                    bool AtribuicaoAtiva;
                    // Traz a última atribuição que o docente teve naquela disciplina, sendo ativa ou inativa.
                    byte tdt_posicao = TUR_TurmaDocenteBO.SelecionaPosicaoPorDocenteTurma_ComInativos
                                           (_VS_doc_id, tud_id, out AtribuicaoAtiva, ApplicationWEB.AppMinutosCacheLongo);
                    VS_AtribuicaoAtiva = AtribuicaoAtiva;
                    ltPermissao        = CFG_PermissaoDocenteBO.SelecionaPermissaoModulo(tdt_posicao, (byte)EnumModuloPermissao.Compensacoes);
                    permiteConsultar   = ltPermissao.Any(p => p.pdc_permissaoConsulta);

                    TUR_TurmaDisciplina entityTurmaDisciplina = new TUR_TurmaDisciplina {
                        tud_id = tud_id
                    };
                    TUR_TurmaDisciplinaBO.GetEntity(entityTurmaDisciplina);
                    VS_DisciplinaEspecial = entityTurmaDisciplina.tud_disciplinaEspecial;

                    tipoDocente = ACA_TipoDocenteBO.SelecionaTipoDocentePorPosicao(tdt_posicao, ApplicationWEB.AppMinutosCacheLongo);
                }
                else
                {
                    VS_AtribuicaoAtiva = true;
                }

                if (permiteConsultar)
                {
                    gvCompAusencia.EmptyDataText = GetGlobalResourceObject("Classe", "CompensacaoAusencia.Busca.SemCompensacaoAusencia").ToString();
                    gvCompAusencia.PageIndex     = 0;
                    odsCompAusencia.SelectMethod = _VS_doc_id > 0 && VS_DisciplinaEspecial ? "SelectByPesquisaFiltroDeficiencia" : "SelectByPesquisa";
                    odsCompAusencia.SelectParameters.Clear();
                    odsCompAusencia.SelectParameters.Add("uad_idSuperior", DbType.Guid, UCComboUAEscola.Uad_ID.ToString());
                    odsCompAusencia.SelectParameters.Add("esc_id", DbType.Int32, UCComboUAEscola.Esc_ID.ToString());
                    odsCompAusencia.SelectParameters.Add("uni_id", DbType.Int32, UCComboUAEscola.Uni_ID.ToString());
                    odsCompAusencia.SelectParameters.Add("cur_id", DbType.Int32, UCCCursoCurriculo.Valor[0].ToString());
                    odsCompAusencia.SelectParameters.Add("crr_id", DbType.Int32, UCCCursoCurriculo.Valor[1].ToString());
                    odsCompAusencia.SelectParameters.Add("cap_id", DbType.Int32, UCCPeriodoCalendario.Valor[1].ToString());
                    odsCompAusencia.SelectParameters.Add("tud_id", DbType.Int64, UCCTurmaDisciplina1.Valor.ToString());
                    odsCompAusencia.SelectParameters.Add("tur_id", DbType.Int64, ddlTurma.SelectedValue);

                    // Filtra pela visão do usuário.
                    odsCompAusencia.SelectParameters.Add("gru_id", __SessionWEB.__UsuarioWEB.Grupo.gru_id.ToString());
                    odsCompAusencia.SelectParameters.Add("usu_id", __SessionWEB.__UsuarioWEB.Usuario.usu_id.ToString());
                    odsCompAusencia.SelectParameters.Add("adm", (__SessionWEB.__UsuarioWEB.Grupo.vis_id == SysVisaoID.Administracao || __SessionWEB.__UsuarioWEB.Grupo.vis_id == SysVisaoID.Individual).ToString());
                    odsCompAusencia.SelectParameters.Add("ent_id", __SessionWEB.__UsuarioWEB.Usuario.ent_id.ToString());

                    if (_VS_doc_id > 0 && VS_DisciplinaEspecial)
                    {
                        odsCompAusencia.SelectParameters.Add("tipoDocente", tipoDocente.ToString());
                    }

                    odsCompAusencia.DataBind();

                    // quantidade de itens por página
                    string qtItensPagina = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.QT_ITENS_PAGINACAO);
                    int    itensPagina   = string.IsNullOrEmpty(qtItensPagina) ? ApplicationWEB._Paginacao : Convert.ToInt32(qtItensPagina);

                    gvCompAusencia.Sort(VS_Ordenacao, VS_SortDirection);

                    #region Salvar busca realizada com os parâmetros do ODS.

                    foreach (Parameter param in odsCompAusencia.SelectParameters)
                    {
                        filtros.Add(param.Name, param.DefaultValue);
                    }

                    filtros.Add("tpc_id", UCCPeriodoCalendario.Valor[0].ToString());
                    filtros.Add("cal_id", UCComboCalendario.Valor.ToString());

                    __SessionWEB.BuscaRealizada = new BuscaGestao
                    {
                        PaginaBusca = PaginaGestao.CompensacaoAusencia
                        ,
                        Filtros = filtros
                    };

                    #endregion

                    // mostra essa quantidade no combobox
                    UCComboQtdePaginacao1.Valor = itensPagina;
                    // atribui essa quantidade para o grid
                    gvCompAusencia.PageSize = itensPagina;
                    // atualiza o grid
                    gvCompAusencia.DataBind();

                    fdsResultados.Visible = true;

                    if (_VS_doc_id > 0)
                    {
                        gvCompAusencia.Columns[gvCompAusenciaIndiceAlterar].Visible     =
                            gvCompAusencia.Columns[gvCompAusenciaIndiceExcluir].Visible = ltPermissao.Any(p => p.pdc_permissaoEdicao);
                    }
                    else
                    {
                        gvCompAusencia.Columns[gvCompAusenciaIndiceAlterar].Visible = __SessionWEB.__UsuarioWEB.GrupoPermissao.grp_alterar;
                        gvCompAusencia.Columns[gvCompAusenciaIndiceExcluir].Visible = __SessionWEB.__UsuarioWEB.GrupoPermissao.grp_excluir;
                    }
                }
                else
                {
                    string msg = String.Format("O docente não possui permissão para consultar compensações de ausência do(a) {0} selecionado(a).", GetGlobalResourceObject("Mensagens", "MSG_DISCIPLINA_MIN"));
                    lblMessage.Text = UtilBO.GetErroMessage(msg, UtilBO.TipoMensagem.Alerta);
                }
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar as compensações de ausências.", UtilBO.TipoMensagem.Erro);
            }
        }