/// <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); }
/// <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; }
/// <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); }
/// <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); }
/// <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)); }
/// <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)); }