Пример #1
0
        /// <summary>
        /// Retorna os dados da CLS_TurmaAulaAluno que sejam pela
        /// "chave" da matrícula do aluno na disciplina.
        /// </summary>
        /// <param name="tud_id">Id da turma disciplina - obrigatório</param>
        /// <param name="alu_id">Id do aluno - obrigatório</param>
        /// <param name="mtu_id">Id da matrícula do aluno na turma - obrigatório</param>
        /// <param name="mtd_id">Id da matrícula do aluno na disciplina - obrigatório</param>
        /// <returns>Lista de CLS_TurmaAulaAluno</returns>
        public List <CLS_TurmaAulaAluno> SelectBy_Disciplina_Aluno
        (
            Int64 tud_id
            , Int64 alu_id
            , Int32 mtu_id
            , Int32 mtd_id
        )
        {
            List <CLS_TurmaAulaAluno>  lista = new List <CLS_TurmaAulaAluno>();
            QuerySelectStoredProcedure qs    = new QuerySelectStoredProcedure("NEW_CLS_TurmaAulaAluno_SelectBy_Disciplina_Aluno", _Banco);

            #region PARAMETROS

            Param               = qs.NewParameter();
            Param.DbType        = DbType.Int64;
            Param.ParameterName = "@tud_id";
            Param.Size          = 8;
            Param.Value         = tud_id;
            qs.Parameters.Add(Param);

            Param               = qs.NewParameter();
            Param.DbType        = DbType.Int64;
            Param.ParameterName = "@alu_id";
            Param.Size          = 8;
            Param.Value         = alu_id;
            qs.Parameters.Add(Param);

            Param               = qs.NewParameter();
            Param.DbType        = DbType.Int32;
            Param.ParameterName = "@mtu_id";
            Param.Size          = 4;
            Param.Value         = mtu_id;
            qs.Parameters.Add(Param);

            Param               = qs.NewParameter();
            Param.DbType        = DbType.Int32;
            Param.ParameterName = "@mtd_id";
            Param.Size          = 4;
            Param.Value         = mtd_id;
            qs.Parameters.Add(Param);

            #endregion

            qs.Execute();

            DataTable dt = qs.Return;

            foreach (DataRow dr in dt.Rows)
            {
                CLS_TurmaAulaAluno entity = new CLS_TurmaAulaAluno();
                entity = DataRowToEntity(dr, entity);

                lista.Add(entity);
            }

            return(lista);
        }
Пример #2
0
        /// <summary>
        /// Parâmetros para efetuar a alteração preservando a data de criação
        /// </summary>
        /// <param name="qs"></param>
        /// <param name="entity"></param>
        protected override void ParamAlterar(QueryStoredProcedure qs, CLS_TurmaAulaAluno entity)
        {
            base.ParamAlterar(qs, entity);

            qs.Parameters["@taa_anotacao"].DbType = DbType.String;

            qs.Parameters.RemoveAt("@taa_dataCriacao");
            qs.Parameters["@taa_dataAlteracao"].Value = DateTime.Now;
        }
Пример #3
0
        /// <summary>
        /// Parâmetros para efetuar a exclusão lógica.
        /// </summary>
        /// <param name="qs"></param>
        /// <param name="entity"></param>
        protected override void ParamDeletar(QueryStoredProcedure qs, CLS_TurmaAulaAluno entity)
        {
            Param               = qs.NewParameter();
            Param.DbType        = DbType.Int64;
            Param.ParameterName = "@tud_id";
            Param.Size          = 8;
            Param.Value         = entity.tud_id;
            qs.Parameters.Add(Param);

            Param               = qs.NewParameter();
            Param.DbType        = DbType.Int32;
            Param.ParameterName = "@tau_id";
            Param.Size          = 1;
            Param.Value         = entity.tau_id;
            qs.Parameters.Add(Param);

            Param               = qs.NewParameter();
            Param.DbType        = DbType.Int64;
            Param.ParameterName = "@alu_id";
            Param.Size          = 8;
            Param.Value         = entity.alu_id;
            qs.Parameters.Add(Param);

            Param               = qs.NewParameter();
            Param.DbType        = DbType.Int32;
            Param.ParameterName = "@mtd_id";
            Param.Size          = 1;
            Param.Value         = entity.mtd_id;
            qs.Parameters.Add(Param);

            Param               = qs.NewParameter();
            Param.DbType        = DbType.Int32;
            Param.ParameterName = "@mtu_id";
            Param.Size          = 4;
            Param.Value         = entity.mtd_id;
            qs.Parameters.Add(Param);

            Param               = qs.NewParameter();
            Param.DbType        = DbType.Int32;
            Param.ParameterName = "@taa_situacao";
            Param.Size          = 1;
            Param.Value         = 3;
            qs.Parameters.Add(Param);

            Param               = qs.NewParameter();
            Param.DbType        = DbType.DateTime;
            Param.ParameterName = "@taa_dataAlteracao";
            Param.Size          = 8;
            Param.Value         = DateTime.Now;
            qs.Parameters.Add(Param);
        }
Пример #4
0
        /// <summary>
        /// Salva no banco as frequências.
        /// </summary>
        public bool Salvar(out string msg
                           , bool periodoEfetivado
                           , bool periodoAberto
                           , ref List <int> lstTauSalvas
                           , ControleTurmas entitiesControleTurma
                           , DateTime dataUltimaAlteracao
                           , ref bool recarregarDataAula
                           , int tpc_id
                           , byte posicaoDocente
                           , bool permiteLancarFrequencia
                           , int situacaoTurmaDisciplina)
        {
            msg = "";
            this.periodoEfetivado = periodoEfetivado;
            if (ValidaFrequencias())
            {
                if (!periodoAberto)
                {
                    throw new ValidationException(
                              String.Format(GetGlobalResourceObject("WebControls", "UCLancamentoFrequencia.FrequenciaDisponivelApenasConsulta").ToString(),
                                            GestaoEscolarUtilBO.nomePadraoPeriodo_Calendario(__SessionWEB.__UsuarioWEB.Usuario.ent_id)));
                }

                List <CLS_TurmaAulaAluno> listTurmaAulaAluno = new List <CLS_TurmaAulaAluno>();
                List <CLS_TurmaAula>      listTurmaAula      = new List <CLS_TurmaAula>();

                RepeaterItem header            = (RepeaterItem)rptAlunosFrequencia.Controls[0];
                Repeater     rptAulasEfetivado = (Repeater)header.FindControl("rptAulasEfetivado");

                lstTauSalvas = new List <int>();

                List <CLS_TurmaAula> listaTurmaAulaBD = new List <CLS_TurmaAula>();
                if (rptAulasEfetivado.Items.Count > 0)
                {
                    List <string> lstTauIdsSalvar = (from RepeaterItem item in rptAulasEfetivado.Items
                                                     select((Label)item.FindControl("lbltau_id")).Text).ToList();
                    listaTurmaAulaBD = CLS_TurmaAulaBO.SelecionarListaAulasPorIds(entitiesControleTurma.turmaDisciplina.tud_id, string.Join(",", lstTauIdsSalvar));
                }

                // Adiciona itens na lista de TurmaAula - só pra alterar o tau_efetivado.
                foreach (RepeaterItem itemAtividade in rptAulasEfetivado.Items)
                {
                    CheckBox chkEfetivado = (CheckBox)itemAtividade.FindControl("chkEfetivado");
                    int      tau_id       = Convert.ToInt32(((Label)itemAtividade.FindControl("lbltau_id")).Text);
                    DateTime tau_data     = Convert.ToDateTime(((Label)itemAtividade.FindControl("lbltnt_data")).Text);

                    Guid  usu_id_criou_aula = Guid.Empty;
                    Label lblUsuId          = (Label)itemAtividade.FindControl("lblUsuId");
                    if (lblUsuId != null && !string.IsNullOrEmpty(lblUsuId.Text))
                    {
                        usu_id_criou_aula = new Guid(lblUsuId.Text);
                    }

                    bool permissaoAlteracao = permiteLancarFrequencia && Convert.ToBoolean(((HiddenField)itemAtividade.FindControl("hdnPermissaoAlteracao")).Value);
                    if (permissaoAlteracao && __SessionWEB.__UsuarioWEB.Docente.doc_id > 0)
                    {
                        permissaoAlteracao = (situacaoTurmaDisciplina == 1 || (situacaoTurmaDisciplina != 1 && __SessionWEB.__UsuarioWEB.Usuario.usu_id == usu_id_criou_aula));
                    }

                    permissaoAlteracao &= !periodoEfetivado;

                    if (permissaoAlteracao)
                    {
                        if ((entitiesControleTurma.turma.tur_situacao == (byte)TUR_TurmaSituacao.Encerrada ||
                             entitiesControleTurma.turma.tur_situacao == (byte)TUR_TurmaSituacao.Extinta) &&
                            entitiesControleTurma.turma.tur_dataEncerramento != new DateTime() &&
                            tau_data > entitiesControleTurma.turma.tur_dataEncerramento)
                        {
                            throw new ValidationException("Existem aulas com data maior que a data de encerramento da turma.");
                        }

                        CLS_TurmaAula ent = listaTurmaAulaBD.FirstOrDefault(p => p.tud_id == entitiesControleTurma.turmaDisciplina.tud_id && p.tau_id == tau_id);
                        if (!ent.IsNew && ent.tau_dataAlteracao > dataUltimaAlteracao)
                        {
                            recarregarDataAula = false;
                            throw new ValidationException(GetGlobalResourceObject("Academico", "ControleTurma.Listao.Validacao_Data_TurmaFrequencia").ToString());
                        }

                        lstTauSalvas.Add(tau_id);

                        ent.tau_efetivado        = chkEfetivado.Checked;
                        ent.tau_statusFrequencia = (byte)(chkEfetivado.Checked ? CLS_TurmaAulaStatusFrequencia.Efetivada
                                                                               : CLS_TurmaAulaStatusFrequencia.Preenchida);
                        ent.usu_idDocenteAlteracao = __SessionWEB.__UsuarioWEB.Usuario.usu_id;
                        ent.tpc_id = tpc_id;


                        listTurmaAula.Add(ent);
                    }
                }

                foreach (RepeaterItem itemAluno in rptAlunosFrequencia.Items)
                {
                    rptAulasEfetivado = (Repeater)itemAluno.FindControl("rptAulas");
                    Int64 alu_id = Convert.ToInt64(((Label)itemAluno.FindControl("lblalu_id")).Text);
                    Int32 mtu_id = Convert.ToInt32(((Label)itemAluno.FindControl("lblmtu_id")).Text);
                    Int32 mtd_id = Convert.ToInt32(((Label)itemAluno.FindControl("lblmtd_id")).Text);

                    // Adiciona itens na lista de TurmaNota - só pra alterar o tnt_efetivado.
                    foreach (RepeaterItem itemAtividadeAluno in rptAulasEfetivado.Items)
                    {
                        Guid  usu_id_criou_aula = Guid.Empty;
                        Label lblUsuId          = (Label)itemAtividadeAluno.FindControl("lblUsuId");
                        if (lblUsuId != null && !string.IsNullOrEmpty(lblUsuId.Text))
                        {
                            usu_id_criou_aula = new Guid(lblUsuId.Text);
                        }

                        bool permiteAlteracao;
                        Boolean.TryParse(((HiddenField)itemAtividadeAluno.FindControl("hdnPermissaoAlteracao")).Value, out permiteAlteracao);
                        bool permissaoAlteracao = permiteLancarFrequencia && permiteAlteracao;

                        if (permissaoAlteracao && __SessionWEB.__UsuarioWEB.Docente.doc_id > 0)
                        {
                            permissaoAlteracao = (situacaoTurmaDisciplina == 1 || (situacaoTurmaDisciplina != 1 && __SessionWEB.__UsuarioWEB.Usuario.usu_id == usu_id_criou_aula));
                        }

                        permissaoAlteracao &= !periodoEfetivado;

                        if (permissaoAlteracao)
                        {
                            int          tau_id        = Convert.ToInt32(((Label)itemAtividadeAluno.FindControl("lbltau_id")).Text);
                            CheckBoxList cblFrequencia = (CheckBoxList)itemAtividadeAluno.FindControl("cblFrequencia");
                            int          frequencia    = 0;
                            string       bitmap        = "";
                            for (int i = 0; i < cblFrequencia.Items.Count; i++)
                            {
                                frequencia += cblFrequencia.Items[i].Selected ? 1 : 0;
                                bitmap     += cblFrequencia.Items[i].Selected ? "1" : "0";
                            }

                            CLS_TurmaAulaAluno ent = new CLS_TurmaAulaAluno
                            {
                                tud_id = entitiesControleTurma.turmaDisciplina.tud_id
                                ,
                                tau_id = tau_id
                                ,
                                alu_id = alu_id
                                ,
                                mtu_id = mtu_id
                                ,
                                mtd_id = mtd_id
                                ,
                                taa_frequencia = frequencia
                                ,
                                taa_situacao = 1
                                ,
                                taa_frequenciaBitMap = bitmap
                            };

                            listTurmaAulaAluno.Add(ent);
                        }
                    }
                }

                CLS_TurmaAulaAlunoBO.Save(listTurmaAulaAluno, listTurmaAula, entitiesControleTurma.turma.tur_id,
                                          entitiesControleTurma.turmaDisciplina.tud_id, posicaoDocente,
                                          entitiesControleTurma.turma, entitiesControleTurma.formatoAvaliacao,
                                          entitiesControleTurma.curriculoPeriodo, __SessionWEB.__UsuarioWEB.Usuario.usu_id,
                                          (byte)LOG_TurmaAula_Alteracao_Origem.WebListao, (byte)LOG_TurmaAula_Alteracao_Tipo.AlteracaoFreq, __SessionWEB.__UsuarioWEB.Usuario.ent_id);

                try
                {
                    ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, string.Concat(GetGlobalResourceObject("WebControls", "UCLancamentoFrequencia.Frequencia").ToString(),
                                                                                          "cal_id: ", entitiesControleTurma.turma.cal_id, " | tpc_id: ", tpc_id,
                                                                                          " | tur_id: ", entitiesControleTurma.turma.tur_id, "; tud_id: ", entitiesControleTurma.turmaDisciplina.tud_id));
                }
                catch (Exception ex)
                {
                    ApplicationWEB._GravaErro(ex);
                }

                if (this.Recarregar != null)
                {
                    this.Recarregar(false, false, false, true);
                }

                msg = UtilBO.GetErroMessage(GetGlobalResourceObject("WebControls", "UCLancamentoFrequencia.FrequanciaSalva").ToString(), UtilBO.TipoMensagem.Sucesso);
            }
            return(true);
        }
Пример #5
0
 /// <summary>
 /// Método alterado para que o delete não faça exclusão física e sim lógica (update).
 /// </summary>
 /// <param name="entity">Entidade CLS_TurmaAulaAluno</param>
 /// <returns>true = sucesso | false = fracasso</returns>
 public override bool Delete(CLS_TurmaAulaAluno entity)
 {
     __STP_DELETE = "NEW_CLS_TurmaAulaAluno_Update_Situacao";
     return(base.Delete(entity));
 }
Пример #6
0
 /// <summary>
 /// Método alterado para que o update não faça a alteração da data de criação
 /// </summary>
 /// <param name="entity">Entidade CLS_TurmaAulaAluno</param>
 /// <returns>true = sucesso | false = fracasso</returns>
 protected override bool Alterar(CLS_TurmaAulaAluno entity)
 {
     __STP_UPDATE = "NEW_CLS_TurmaAulaAluno_UPDATE";
     return(base.Alterar(entity));
 }