//Alumnos /// <summary> /// este metodo cubre la falta del modulo de notas, no esta registrado porque, si /// estuviese todo el sistema junto, este metodo no existiria. /// </summary> /// <param name="alumno"></param> public void generarPlanillasDeEvaluacion(Alumno alumno) { Nivel nivel = alumno.curso.nivel; List <Materia> materias = this.traerMateriasPorNivel(nivel); if (materias.Count > 0) { StringBuilder sb = new StringBuilder(); SqlConnection connection = ConexionSingleton.obtenerConexion(); connection.Open(); SqlTransaction tx = connection.BeginTransaction(); SqlCommand cmd = new SqlCommand("", connection, tx); Random rand = new Random(); int iter = 0; cmd.Parameters.Add(new SqlParameter("@nivel", SqlDbType.BigInt)).Value = nivel.id; cmd.Parameters.Add(new SqlParameter("@alumno", SqlDbType.BigInt)).Value = alumno.legajo; foreach (Materia materia in materias) { iter++; sb.Append(" insert into planilla_de_evaluacion " + "(pde_alumno_id,pde_nivel_id,pde_trimestre_1,pde_trimestre_2,pde_trimestre_3,pde_nota_final,pde_condicion,pde_dvh,pde_materia_id) "); sb.Append(" values(@alumno,@nivel, "); int tri1 = rand.Next(1, 10); int tri2 = rand.Next(1, 10); int tri3 = rand.Next(1, 10); Double promedio = (tri1 + tri2 + tri3) / 3; int condicion = promedio >= 7 ? 1 : 0; sb.Append("@tri1" + iter + ", " + "@tri2" + iter + ", " + "@tri3" + iter + ", " + "@promedio" + iter + ", " + "@condicion" + iter + ", "); sb.Append(" @dvh" + iter + " , @materia" + iter + ")"); String trim1 = SeguridadUtiles.encriptarAES(tri1.ToString()); String trim2 = SeguridadUtiles.encriptarAES(tri2.ToString()); String trim3 = SeguridadUtiles.encriptarAES(tri3.ToString()); cmd.Parameters.Add(new SqlParameter("@tri1" + iter, SqlDbType.NVarChar)).Value = trim1; cmd.Parameters.Add(new SqlParameter("@tri2" + iter, SqlDbType.NVarChar)).Value = trim2; cmd.Parameters.Add(new SqlParameter("@tri3" + iter, SqlDbType.NVarChar)).Value = trim3; cmd.Parameters.Add(new SqlParameter("@promedio" + iter, SqlDbType.NVarChar)).Value = SeguridadUtiles.encriptarAES(promedio.ToString()); cmd.Parameters.Add(new SqlParameter("@condicion" + iter, SqlDbType.BigInt)).Value = condicion; cmd.Parameters.Add(new SqlParameter("@dvh" + iter, SqlDbType.NVarChar)).Value = new DAOSeguridad().recalcularDigitoHorizontal(new String[] { trim1, trim2, trim3, alumno.legajo.ToString() }); cmd.Parameters.Add(new SqlParameter("@materia" + iter, SqlDbType.BigInt)).Value = materia.id; } cmd.CommandText = sb.ToString(); try { cmd.ExecuteNonQuery(); tx.Commit(); connection.Close(); new DAOSeguridad().recalcularDigitoVertical("PLANILLA_DE_EVALUACION"); } catch (Exception ex) { tx.Rollback(); connection.Close(); throw; } } }
public void actualizarMateria(Materia materia) { SqlConnection connection = ConexionSingleton.obtenerConexion(); String query = "UPDATE MATERIA SET MAT_NOMBRE = @NOMBRE , MAT_DESCRIPCION = @DESC, MAT_TIPO = @TIPO WHERE MAT_ID = @ID"; connection.Open(); SqlTransaction tx = connection.BeginTransaction(); SqlCommand cmd = new SqlCommand(query, connection, tx); cmd.Parameters.Add(new SqlParameter("@ID", SqlDbType.BigInt)).Value = materia.id; cmd.Parameters.Add(new SqlParameter("@NOMBRE", SqlDbType.VarChar)).Value = materia.nombre; cmd.Parameters.Add(new SqlParameter("@DESC", SqlDbType.VarChar)).Value = materia.descripcion; cmd.Parameters.Add(new SqlParameter("@TIPO", SqlDbType.Bit)).Value = long.Parse(materia.tipo);; try { cmd.ExecuteNonQuery(); tx.Commit(); connection.Close(); Usuario usu = new Usuario(); usu.id = TrabajoDeCampo.Properties.Settings.Default.SessionUser; new DAOSeguridad().grabarBitacora(usu, "Se modificó una materia", CriticidadEnum.MEDIA); } catch (Exception ex) { tx.Rollback(); connection.Close(); throw ex; } }
public void guardarCurso(Curso curso) { String query = " INSERT INTO CURSO(CUR_NIVEL_ID,CUR_CAPACIDAD, CUR_CODIGO, CUR_TURNO, CUR_LETRA) " + " VALUES (@NIVEL,@CAPACIDAD,@CODIGO,@TURNO,@LETRA) "; SqlConnection connection = ConexionSingleton.obtenerConexion(); connection.Open(); SqlTransaction tx = connection.BeginTransaction(); SqlCommand cmd = new SqlCommand(query, connection, tx); cmd.Parameters.Add(new SqlParameter("@NIVEL", SqlDbType.BigInt)).Value = curso.nivel.id; cmd.Parameters.Add(new SqlParameter("@CAPACIDAD", SqlDbType.BigInt)).Value = curso.capacidad; cmd.Parameters.Add(new SqlParameter("@CODIGO", SqlDbType.VarChar)).Value = curso.codigo; cmd.Parameters.Add(new SqlParameter("@TURNO", SqlDbType.Char)).Value = curso.turno; cmd.Parameters.Add(new SqlParameter("@LETRA", SqlDbType.Char)).Value = curso.letra; try { cmd.ExecuteNonQuery(); tx.Commit(); connection.Close(); Usuario usu = new Usuario(); usu.id = TrabajoDeCampo.Properties.Settings.Default.SessionUser; new DAOSeguridad().grabarBitacora(usu, "Se guardó un curso", CriticidadEnum.MEDIA); } catch (Exception ex) { tx.Rollback(); connection.Close(); throw ex; } }
public void borrarCurso(Curso curso) { String query = " UPDATE CURSO SET " + " CUR_BORRADO = 1 " + " WHERE CUR_ID = @ID"; SqlConnection connection = ConexionSingleton.obtenerConexion(); connection.Open(); SqlTransaction tx = connection.BeginTransaction(); SqlCommand cmd = new SqlCommand(query, connection, tx); cmd.Parameters.Add(new SqlParameter("@ID", SqlDbType.BigInt)).Value = curso.id; try { cmd.ExecuteNonQuery(); tx.Commit(); connection.Close(); Usuario usu = new Usuario(); usu.id = TrabajoDeCampo.Properties.Settings.Default.SessionUser; new DAOSeguridad().grabarBitacora(usu, "Se borró un curso", CriticidadEnum.ALTA); } catch (Exception ex) { tx.Rollback(); connection.Close(); throw ex; } }
public void borrarHorario(Horario horario) { StringBuilder query = new StringBuilder(" delete horario "); query.Append(" where hor_id = @id "); SqlConnection connection = ConexionSingleton.obtenerConexion(); connection.Open(); SqlTransaction tx = connection.BeginTransaction(); SqlCommand cmd = new SqlCommand(query.ToString(), connection, tx); cmd.Parameters.Add(new SqlParameter("@id", SqlDbType.BigInt)).Value = horario.id; try { cmd.ExecuteNonQuery(); tx.Commit(); connection.Close(); Usuario usu = new Usuario(); usu.id = TrabajoDeCampo.Properties.Settings.Default.SessionUser; new DAOSeguridad().grabarBitacora(usu, "Se borró un horario", CriticidadEnum.MEDIA); } catch (Exception ex) { tx.Rollback(); connection.Close(); throw ex; } }
public void promocionarAlumno(Alumno alumno, Curso curso) { SqlConnection connection = ConexionSingleton.obtenerConexion(); connection.Open(); SqlTransaction tx = connection.BeginTransaction(); SqlCommand cmd = new SqlCommand(" UPDATE ALUMNO SET ALU_CURSO = @CURSO, ALU_ORIENTACION = @ORIENTACION WHERE ALU_LEGAJO = @LEGAJO ", connection, tx); cmd.Parameters.Add(new SqlParameter("@CURSO", SqlDbType.BigInt)).Value = curso.id; cmd.Parameters.Add(new SqlParameter("@LEGAJO", SqlDbType.BigInt)).Value = alumno.legajo; cmd.Parameters.Add(new SqlParameter("@ORIENTACION", SqlDbType.BigInt)).Value = curso.nivel.orientacion != null ? Convert.DBNull : long.Parse(curso.nivel.orientacion.codigo); try { cmd.ExecuteNonQuery(); tx.Commit(); connection.Close(); alumno.curso = curso; this.generarPlanillasDeEvaluacion(alumno); } catch (Exception) { tx.Rollback(); connection.Close(); throw; } Usuario usu = new Usuario(); usu.id = TrabajoDeCampo.Properties.Settings.Default.SessionUser; new DAOSeguridad().grabarBitacora(usu, "Se promocionó un alumno", CriticidadEnum.MEDIA); }
public void guardarMateria(Materia materia) { SqlCommand cmd = new SqlCommand(); SqlConnection connection = ConexionSingleton.obtenerConexion(); connection.Open(); SqlTransaction tx = connection.BeginTransaction(); cmd.Connection = connection; cmd.Transaction = tx; cmd.CommandText = " INSERT INTO MATERIA (MAT_NOMBRE,MAT_DESCRIPCION,MAT_TIPO) VALUES (@NOMBRE,@DESC,@TIPO) "; cmd.Parameters.Add(new SqlParameter("@NOMBRE", SqlDbType.VarChar)).Value = materia.nombre; cmd.Parameters.Add(new SqlParameter("@DESC", SqlDbType.VarChar)).Value = materia.descripcion; cmd.Parameters.Add(new SqlParameter("@TIPO", SqlDbType.Bit)).Value = long.Parse(materia.tipo); try { cmd.ExecuteNonQuery(); tx.Commit(); connection.Close(); Usuario usu = new Usuario(); usu.id = TrabajoDeCampo.Properties.Settings.Default.SessionUser; new DAOSeguridad().grabarBitacora(usu, "Se guardó una materia", CriticidadEnum.MEDIA); } catch (Exception) { tx.Rollback(); connection.Close(); throw; } }
public void borrarMateria(Materia materia) { SqlConnection connection = ConexionSingleton.obtenerConexion(); String query = "UPDATE MATERIA SET MAT_BORRADA = 1 WHERE MAT_ID = @ID"; connection.Open(); SqlTransaction tx = connection.BeginTransaction(); SqlCommand cmd = new SqlCommand(query, connection, tx); cmd.Parameters.Add(new SqlParameter("@ID", SqlDbType.BigInt)).Value = materia.id; try { cmd.ExecuteNonQuery(); tx.Commit(); connection.Close(); Usuario usu = new Usuario(); usu.id = TrabajoDeCampo.Properties.Settings.Default.SessionUser; new DAOSeguridad().grabarBitacora(usu, "Se borró una materia", CriticidadEnum.MEDIA); } catch (Exception ex) { tx.Rollback(); connection.Close(); throw ex; } }
//NIVELES public List <Nivel> listarNiveles(String filtro, String valor, String orden) { List <Nivel> niveles = new List <Nivel>(); SqlDataReader reader = null; SqlConnection connection = ConexionSingleton.obtenerConexion(); connection.Open(); SqlTransaction tx = connection.BeginTransaction(); SqlCommand cmd = new SqlCommand( " select *,( " + " select count(*) from MATERIA_NIVEL where MN_NIVEL_ID = NIVEL.NIV_ID " + " ) as materias " + " from nivel left join orientacion ori on ori.ORI_CODIGO = NIV_ORIENTACION" , connection, tx); try { reader = cmd.ExecuteReader(); while (reader.Read()) { Nivel nivel = new Nivel(); nivel.id = (long)reader.GetValue(0); nivel.codigo = reader.GetValue(1).ToString(); nivel.descripcion = reader.GetValue(2).ToString(); if (!reader.IsDBNull(3)) { Orientacion ori = new Orientacion(); ori.codigo = reader.GetValue(3).ToString(); nivel.orientacion = ori; ori.nombre = reader.GetValue(5).ToString(); } else { Orientacion ori = new Orientacion(); ori.codigo = "null"; ori.nombre = ""; nivel.orientacion = ori; } if (0 != (int)reader["materias"]) { nivel.materia = new List <Materia>(); } niveles.Add(nivel); } reader.Close(); tx.Commit(); connection.Close(); } catch (Exception ex) { reader.Close(); tx.Rollback(); connection.Close(); throw ex; } return(niveles); }
//amonestaciones public void guardarAmonestacion(Amonestacion amonestacion) { SqlConnection connection = ConexionSingleton.obtenerConexion(); connection.Open(); SqlTransaction tx = connection.BeginTransaction(); StringBuilder sb = new StringBuilder(); sb.Append(" insert into amonestacion "); sb.Append(" (amon_alumno_id,amon_fecha,amon_motivo,amon_dvh) "); sb.Append(" values(@alu,@fecha,@motivo,@dvh) "); String dvh = new DAOSeguridad().recalcularDigitoHorizontal(new String[] { amonestacion.alumno.legajo.ToString(), amonestacion.fecha.ToString("yyyy-MM-dd") }); SqlCommand cmd = new SqlCommand(sb.ToString(), connection, tx); cmd.Parameters.Add(new SqlParameter("@alu", SqlDbType.BigInt)).Value = amonestacion.alumno.legajo; cmd.Parameters.Add(new SqlParameter("@fecha", SqlDbType.Date)).Value = amonestacion.fecha; cmd.Parameters.Add(new SqlParameter("@motivo", SqlDbType.Text)).Value = SeguridadUtiles.encriptarAES(amonestacion.motivo); cmd.Parameters.Add(new SqlParameter("@dvh", SqlDbType.VarChar)).Value = dvh; try { String check = " Select count(*) from amonestacion where amon_alumno_id = @alu and amon_fecha = @fecha"; cmd.CommandText = check; SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { int count = (int)reader.GetValue(0); if (count > 0) { reader.Close(); throw new Exception("FECHA"); } } reader.Close(); cmd.CommandText = sb.ToString(); cmd.ExecuteNonQuery(); tx.Commit(); connection.Close(); Usuario usu = new Usuario(); usu.id = TrabajoDeCampo.Properties.Settings.Default.SessionUser; new DAOSeguridad().grabarBitacora(usu, "Se registro una amonestación", CriticidadEnum.MEDIA); } catch (Exception) { tx.Rollback(); connection.Close(); throw; } }
//Tutores public void guardarTutor(Tutor tutor) { SqlConnection connection = ConexionSingleton.obtenerConexion(); connection.Open(); SqlTransaction tx = connection.BeginTransaction(); SqlCommand cmd = new SqlCommand("", connection, tx); StringBuilder query = new StringBuilder(" INSERT INTO TUTOR (TUT_NOMBRE,TUT_APELLIDO,TUT_TELEFONO_PRIMARIO,TUT_DNI,TUT_EMAIL"); if (!String.IsNullOrEmpty(tutor.telefono2)) { query.Append(",TUT_TELEFONO_SECUNDARIO) "); } else { query.Append(") "); } query.Append(" VALUES(@NOMBRE,@APELLIDO,@TEL1,@DNI,@MAIL"); if (!String.IsNullOrEmpty(tutor.telefono2)) { query.Append(",@TEL2) "); cmd.Parameters.Add(new SqlParameter("@TEL2", SqlDbType.NVarChar)).Value = SeguridadUtiles.encriptarAES(tutor.telefono2); } else { query.Append(") "); } cmd.Parameters.Add(new SqlParameter("@NOMBRE", SqlDbType.VarChar)).Value = tutor.nombre; cmd.Parameters.Add(new SqlParameter("@APELLIDO", SqlDbType.VarChar)).Value = tutor.apellido; cmd.Parameters.Add(new SqlParameter("@TEL1", SqlDbType.NVarChar)).Value = SeguridadUtiles.encriptarAES(tutor.telefono1); cmd.Parameters.Add(new SqlParameter("@DNI", SqlDbType.VarChar)).Value = tutor.dni; cmd.Parameters.Add(new SqlParameter("@MAIL", SqlDbType.VarChar)).Value = tutor.email; cmd.CommandText = query.ToString(); try { cmd.ExecuteNonQuery(); tx.Commit(); connection.Close(); Usuario usu = new Usuario(); usu.id = TrabajoDeCampo.Properties.Settings.Default.SessionUser; new DAOSeguridad().grabarBitacora(usu, "Se creó un tutor", CriticidadEnum.MEDIA); } catch (Exception ex) { tx.Rollback(); connection.Close(); throw ex; } }
public Boolean chequearCodigoUnico(String codigoCurso, long cursoId) { Boolean codigoUnico = false; SqlDataReader reader = null; String query = " SELECT COUNT(*) FROM CURSO WHERE CUR_CODIGO = @CODIGO and CUR_BORRADO IS NULL "; if (cursoId != 0) { query += " AND CUR_ID <> @ID "; } SqlConnection connection = ConexionSingleton.obtenerConexion(); connection.Open(); SqlTransaction tx = connection.BeginTransaction(); SqlCommand cmd = new SqlCommand(query, connection, tx); cmd.Parameters.Add(new SqlParameter("@CODIGO", SqlDbType.VarChar)).Value = codigoCurso; if (cursoId != 0) { cmd.Parameters.Add(new SqlParameter("@ID", SqlDbType.BigInt)).Value = cursoId; } try { reader = cmd.ExecuteReader(); while (reader.Read()) { int repetidos = (int)reader.GetValue(0); if (repetidos == 0) { codigoUnico = true; } } reader.Close(); tx.Commit(); connection.Close(); } catch (Exception ex) { reader.Close(); tx.Rollback(); connection.Close(); throw ex; } return(codigoUnico); }
//Inasistencias public void guardarInasistencia(InasistenciaAlumno inasistencia) { SqlConnection connection = ConexionSingleton.obtenerConexion(); connection.Open(); SqlTransaction tx = connection.BeginTransaction(); StringBuilder sb = new StringBuilder(); sb.Append(" insert into inasistencia_de_alumno "); sb.Append(" (ina_alumno_id,ina_fecha,ina_valor,ina_dvh,ina_justificada) "); sb.Append(" values(@alu,@fecha,@valor,@dvh,@justificada) "); String dvh = new DAOSeguridad().recalcularDigitoHorizontal(new String[] { inasistencia.Alumno.legajo.ToString(), inasistencia.fecha.ToString("yyyy-MM-dd") }); SqlCommand cmd = new SqlCommand(sb.ToString(), connection, tx); cmd.Parameters.Add(new SqlParameter("@alu", SqlDbType.BigInt)).Value = inasistencia.Alumno.legajo; cmd.Parameters.Add(new SqlParameter("@fecha", SqlDbType.DateTime)).Value = inasistencia.fecha.ToString("yyyy-MM-dd"); cmd.Parameters.Add(new SqlParameter("@valor", SqlDbType.Decimal) { Precision = 2 }).Value = inasistencia.valor; cmd.Parameters.Add(new SqlParameter("@dvh", SqlDbType.VarChar)).Value = dvh; cmd.Parameters.Add(new SqlParameter("@justificada", SqlDbType.Bit)).Value = inasistencia.Justificada; try { cmd.CommandText = sb.ToString(); cmd.ExecuteNonQuery(); tx.Commit(); connection.Close(); Usuario usu = new Usuario(); usu.id = TrabajoDeCampo.Properties.Settings.Default.SessionUser; new DAOSeguridad().grabarBitacora(usu, "Se guardó una inasistencia", CriticidadEnum.BAJA); new DAOSeguridad().recalcularDigitoVertical("INASISTENCIA_DE_ALUMNO"); } catch (Exception) { tx.Rollback(); connection.Close(); throw; } }
public void guardarHorario(Horario horario) { StringBuilder query = new StringBuilder(" insert into horario "); query.Append(" (") .Append(" hor_dia, ") .Append(" hor_curso, ") .Append(" hor_materia_id, ") .Append(" hor_docente_id ,") .Append(" hor_modulo_id ) "); query.Append(" values (") .Append(" @dia, ") .Append(" @curso, ") .Append(" @materia, ") .Append(" @docente, ") .Append(" @modulo) "); SqlConnection connection = ConexionSingleton.obtenerConexion(); connection.Open(); SqlTransaction tx = connection.BeginTransaction(); SqlCommand cmd = new SqlCommand(query.ToString(), connection, tx); cmd.Parameters.Add(new SqlParameter("@dia", SqlDbType.BigInt)).Value = horario.dia; cmd.Parameters.Add(new SqlParameter("@curso", SqlDbType.BigInt)).Value = horario.curso.id; cmd.Parameters.Add(new SqlParameter("@materia", SqlDbType.BigInt)).Value = horario.materia.id; cmd.Parameters.Add(new SqlParameter("@docente", SqlDbType.BigInt)).Value = horario.docente.legajo; cmd.Parameters.Add(new SqlParameter("@modulo", SqlDbType.BigInt)).Value = horario.modulo.id; try { cmd.ExecuteNonQuery(); tx.Commit(); connection.Close(); Usuario usu = new Usuario(); usu.id = TrabajoDeCampo.Properties.Settings.Default.SessionUser; new DAOSeguridad().grabarBitacora(usu, "Se creó un horario", CriticidadEnum.BAJA); } catch (Exception ex) { tx.Rollback(); connection.Close(); throw ex; } }
public List <Materia> listarMaterias(String filtro, String valor, String orden) { List <Materia> materias = new List <Materia>(); SqlCommand cmd = new SqlCommand(); SqlConnection connection = ConexionSingleton.obtenerConexion(); connection.Open(); SqlTransaction tx = connection.BeginTransaction(); cmd.Connection = connection; cmd.Transaction = tx; cmd.CommandText = " SELECT * FROM MATERIA WHERE MAT_BORRADA is null "; SqlDataReader reader = null; try { reader = cmd.ExecuteReader(); while (reader.Read()) { String nombre = reader.GetValue(1).ToString(); String desc = reader.GetValue(2).ToString(); bool tipo = (bool)reader.GetValue(3); Materia mat = new Materia(); mat.id = (long)reader.GetValue(0); mat.nombre = nombre; mat.descripcion = desc; mat.tipo = (tipo) ? "TRONCAL" : "EXTRA"; materias.Add(mat); } reader.Close(); tx.Commit(); connection.Close(); } catch (Exception ex) { reader.Close(); tx.Rollback(); connection.Close(); throw ex; } return(materias); }
public List <Materia> traerMateriasPorNivel(Nivel nivel) { List <Materia> materias = new List <Materia>(); SqlConnection connection = ConexionSingleton.obtenerConexion(); String query = " SELECT MAT_ID, MAT_NOMBRE, MAT_DESCRIPCION, MAT_TIPO FROM MATERIA_NIVEL INNER JOIN MATERIA ON MAT_ID = MN_MATERIA_ID " + "WHERE MN_NIVEL_ID = @IDNIVEL "; connection.Open(); SqlTransaction tx = connection.BeginTransaction(); SqlCommand command = new SqlCommand(query, connection, tx); command.Parameters.Add(new SqlParameter("@IDNIVEL", SqlDbType.BigInt)).Value = nivel.id; SqlDataReader reader = null; try { reader = command.ExecuteReader(); while (reader.Read()) { String nombre = reader.GetValue(1).ToString(); String desc = reader.GetValue(2).ToString(); bool tipo = (bool)reader.GetValue(3); Materia mat = new Materia(); mat.id = (long)reader.GetValue(0); mat.nombre = nombre; mat.descripcion = desc; mat.tipo = (tipo) ? "TRONCAL" : "EXTRA"; materias.Add(mat); } reader.Close(); tx.Commit(); connection.Close(); } catch (Exception ex) { reader.Close(); tx.Rollback(); connection.Close(); throw ex; } return(materias); }
//chequear repetidos public Boolean verificarMateria(Materia materia) { Boolean esEdit = materia.id != 0 ? true : false; Boolean existe = false; SqlDataReader reader; SqlConnection connection = ConexionSingleton.obtenerConexion(); String query = "SELECT COUNT(*) FROM MATERIA WHERE MAT_NOMBRE = @NOMBRE AND MAT_BORRADA is null "; if (esEdit) { query += " AND MAT_ID <> @ID "; } connection.Open(); SqlTransaction tx = connection.BeginTransaction(); SqlCommand cmd = new SqlCommand(query, connection, tx); cmd.Parameters.Add(new SqlParameter("@NOMBRE", SqlDbType.VarChar)).Value = materia.nombre; if (esEdit) { cmd.Parameters.Add(new SqlParameter("@ID", SqlDbType.VarChar)).Value = materia.id; } try { reader = cmd.ExecuteReader(); while (reader.Read()) { int resultadoCount = (int)reader.GetValue(0); existe = (resultadoCount > 0); } reader.Close(); tx.Commit(); connection.Close(); } catch (Exception ex) { tx.Rollback(); connection.Close(); throw ex; } return(existe); }
public void repetirAlumno(Alumno alumno) { SqlConnection connection = ConexionSingleton.obtenerConexion(); DateTime principioDeAño = new DateTime(DateTime.Now.Year, 1, 1); DateTime finDeAño = new DateTime(DateTime.Now.Year, 12, 31); connection.Open(); SqlTransaction tx = connection.BeginTransaction(); SqlCommand cmd = new SqlCommand(" update planilla_de_evaluacion set " + " pde_trimestre_1 = @valor, pde_trimestre_2 = @valor, pde_trimestre_3 = @valor, " + " pde_condicion = @valor, pde_nota_final = @valor, pde_dvh =@dvh " + " where pde_alumno_id = @alumno and pde_nivel_id = @nivel ", connection, tx); cmd.Parameters.Add(new SqlParameter("@valor", SqlDbType.NVarChar)).Value = Convert.DBNull; cmd.Parameters.Add(new SqlParameter("@dvh", SqlDbType.NVarChar)).Value = SeguridadUtiles.encriptarMD5(alumno.legajo.ToString()); cmd.Parameters.Add(new SqlParameter("@alumno", SqlDbType.BigInt)).Value = alumno.legajo; cmd.Parameters.Add(new SqlParameter("@nivel", SqlDbType.BigInt)).Value = alumno.curso.nivel.id; cmd.Parameters.Add(new SqlParameter("@principio", SqlDbType.Date)).Value = principioDeAño; cmd.Parameters.Add(new SqlParameter("@fin", SqlDbType.Date)).Value = finDeAño; String updateInasistencias = " delete inasistencia_de_alumno where ina_alumno_id = @alumno and ina_fecha between @principio and @fin "; cmd.CommandText += updateInasistencias; try { cmd.ExecuteNonQuery(); tx.Commit(); connection.Close(); DAOSeguridad dao = new DAOSeguridad(); dao.recalcularDigitoVertical("PLANILLA_DE_EVALUACION"); dao.recalcularDigitoVertical("INASISTENCIA_DE_ALUMNO"); Usuario usu = new Usuario(); usu.id = TrabajoDeCampo.Properties.Settings.Default.SessionUser; new DAOSeguridad().grabarBitacora(usu, "Se marcó un alumno como repetidor", CriticidadEnum.ALTA); } catch (Exception ex) { tx.Rollback(); connection.Close(); throw; } }
public List <Curso> listarCursosExcedidos() { SqlDataReader reader = null; List <Curso> cursos = new List <Curso>(); String query = " SELECT * FROM CURSO WHERE CUR_BORRADO IS NULL AND " + "(SELECT COUNT(*) FROM ALUMNO WHERE ALU_BORRADO IS NULL AND ALU_CURSO = CUR_ID) > CUR_CAPACIDAD"; SqlConnection connection = ConexionSingleton.obtenerConexion(); connection.Open(); SqlTransaction tx = connection.BeginTransaction(); SqlCommand cmd = new SqlCommand(query, connection, tx); try { reader = cmd.ExecuteReader(); while (reader.Read()) { Curso cur = new Curso(); Nivel niv = new Nivel(); niv.id = (long)reader.GetValue(0); niv.codigo = reader.GetValue(1).ToString(); cur.id = (long)reader.GetValue(2); cur.capacidad = ((int)reader.GetValue(4)); cur.codigo = reader.GetValue(5).ToString(); cur.turno = reader.GetValue(6).ToString(); cur.letra = reader.GetValue(7).ToString(); cur.nivel = niv; cursos.Add(cur); } reader.Close(); tx.Commit(); connection.Close(); } catch (Exception ex) { reader.Close(); tx.Rollback(); connection.Close(); throw ex; } return(cursos); }
/// <summary> /// VERIFICA QUE EL TUTOR NO ESTE ASIGNADO A NINGUN ALUMNO. /// </summary> /// <param name="id"></param> /// <returns></returns> public Boolean verificarTutor(long id) { SqlConnection connection = ConexionSingleton.obtenerConexion(); connection.Open(); SqlTransaction tx = connection.BeginTransaction(); string query = " SELECT COUNT(*) FROM ALUMNO_TUTOR WHERE AT_TUTOR_ID = @ID"; SqlCommand cmd = new SqlCommand(query, connection, tx); SqlDataReader reader = null; cmd.Parameters.Add(new SqlParameter("@ID", SqlDbType.BigInt)).Value = id; Boolean desasignado = false; try { reader = cmd.ExecuteReader(); while (reader.Read()) { int cantidad = (int)reader.GetValue(0); if (cantidad == 0) { desasignado = true; } } reader.Close(); tx.Commit(); connection.Close(); } catch (Exception ex) { reader.Close(); tx.Rollback(); connection.Close(); throw ex; } return(desasignado); }
public List <InasistenciaAlumno> listarInasistencias(String filtro, String valor, String orden) { SqlDataReader reader = null; SqlConnection connection = ConexionSingleton.obtenerConexion(); List <InasistenciaAlumno> inasistenciaAlumnos = new List <InasistenciaAlumno>(); connection.Open(); SqlTransaction tx = connection.BeginTransaction(); SqlCommand cmd = new SqlCommand("SELECT * FROM INASISTENCIA_DE_ALUMNO WHERE INA_ALUMNO_ID = @ID ", connection, tx); cmd.Parameters.Add(new SqlParameter("@ID", SqlDbType.BigInt)).Value = long.Parse(valor); try { reader = cmd.ExecuteReader(); while (reader.Read()) { InasistenciaAlumno inas = new InasistenciaAlumno(); inas.fecha = DateTime.Parse(reader.GetValue(1).ToString()); inas.valor = (double)reader.GetDecimal(2); inas.Justificada = reader.GetBoolean(4); inasistenciaAlumnos.Add(inas); } reader.Close(); tx.Commit(); connection.Close(); } catch (Exception) { if (reader != null) { reader.Close(); } tx.Rollback(); connection.Close(); throw; } return(inasistenciaAlumnos); }
public List <Amonestacion> listarAmonestaciones(String filtro, String valor, String orden) { SqlDataReader reader = null; SqlConnection connection = ConexionSingleton.obtenerConexion(); List <Amonestacion> amonestaciones = new List <Amonestacion>(); connection.Open(); SqlTransaction tx = connection.BeginTransaction(); SqlCommand cmd = new SqlCommand("SELECT * FROM AMONESTACION WHERE AMON_ALUMNO_ID = @ID ", connection, tx); cmd.Parameters.Add(new SqlParameter("@ID", SqlDbType.BigInt)).Value = long.Parse(valor); try { reader = cmd.ExecuteReader(); while (reader.Read()) { Amonestacion amonestacion = new Amonestacion(); amonestacion.fecha = DateTime.Parse(reader.GetValue(1).ToString()); amonestacion.motivo = SeguridadUtiles.desencriptarAES(reader.GetValue(2).ToString()); amonestaciones.Add(amonestacion); } reader.Close(); tx.Commit(); connection.Close(); new DAOSeguridad().recalcularDigitoVertical("AMONESTACION"); } catch (Exception) { if (reader != null) { reader.Close(); } tx.Rollback(); connection.Close(); throw; } return(amonestaciones); }
public Boolean chequearCursoVacio(Curso curso) { Boolean vacio = false; SqlDataReader reader = null; String query = " SELECT COUNT(*) FROM ALUMNO WHERE ALU_CURSO = @ID AND ALU_BORRADO IS NULL"; SqlConnection connection = ConexionSingleton.obtenerConexion(); connection.Open(); SqlTransaction tx = connection.BeginTransaction(); SqlCommand cmd = new SqlCommand(query, connection, tx); cmd.Parameters.Add(new SqlParameter("@ID", SqlDbType.BigInt)).Value = curso.id; try { reader = cmd.ExecuteReader(); while (reader.Read()) { int cantidad = (int)reader.GetValue(0); if (cantidad == 0) { vacio = true; } } reader.Close(); tx.Commit(); connection.Close(); } catch (Exception ex) { reader.Close(); tx.Rollback(); connection.Close(); throw ex; } return(vacio); }
//MATERIAS public void actualizarMateriasAsignadas(Nivel nivel, List <Materia> materias) { SqlConnection connection = ConexionSingleton.obtenerConexion(); StringBuilder sb = new StringBuilder(); connection.Open(); SqlTransaction tx = connection.BeginTransaction(); SqlCommand command = new SqlCommand("", connection, tx); command.Parameters.Add(new SqlParameter("@IDNIVEL", SqlDbType.BigInt)).Value = nivel.id; sb.Append(" DELETE MATERIA_NIVEL WHERE MN_NIVEL_ID = @IDNIVEL "); int x = 1; foreach (Materia materia in materias) { sb.Append(" INSERT INTO MATERIA_NIVEL (MN_MATERIA_ID,MN_NIVEL_ID) VALUES (@MATERIA" + x + ",@IDNIVEL) "); command.Parameters.Add(new SqlParameter("@MATERIA" + x, SqlDbType.BigInt)).Value = materia.id; x++; } command.CommandText = sb.ToString(); try { command.ExecuteNonQuery(); tx.Commit(); connection.Close(); Usuario usu = new Usuario(); usu.id = TrabajoDeCampo.Properties.Settings.Default.SessionUser; new DAOSeguridad().grabarBitacora(usu, "Se actualizaron las materias de un nivel", CriticidadEnum.MEDIA); } catch (Exception ex) { tx.Rollback(); connection.Close(); throw ex; } }
// listar orientaciones public List <Orientacion> listarOrientacion() { SqlConnection connection = ConexionSingleton.obtenerConexion(); List <Orientacion> orientaciones = new List <Orientacion>(); connection.Open(); SqlTransaction tx = connection.BeginTransaction(); SqlCommand cmd = new SqlCommand(" Select * from Orientacion", connection, tx); SqlDataReader reader = null; try { reader = cmd.ExecuteReader(); while (reader.Read()) { Orientacion orientacion = new Orientacion(); orientacion.codigo = reader["ORI_CODIGO"].ToString(); orientacion.nombre = reader["ORI_NOMBRE"].ToString(); orientaciones.Add(orientacion); } reader.Close(); tx.Commit(); connection.Close(); } catch (Exception ex) { if (reader != null) { reader.Close(); } tx.Rollback(); connection.Close(); throw ex; } return(orientaciones); }
public void modificarInasistencia(InasistenciaAlumno inasistencia) { SqlConnection connection = ConexionSingleton.obtenerConexion(); connection.Open(); SqlTransaction tx = connection.BeginTransaction(); StringBuilder sb = new StringBuilder(); sb.Append(" update inasistencia_de_alumno set "); sb.Append(" ina_justificada = @justificada "); sb.Append(" where ina_alumno_id = @alu and ina_fecha = @fecha"); SqlCommand cmd = new SqlCommand(sb.ToString(), connection, tx); cmd.Parameters.Add(new SqlParameter("@alu", SqlDbType.BigInt)).Value = inasistencia.Alumno.legajo; cmd.Parameters.Add(new SqlParameter("@fecha", SqlDbType.DateTime)).Value = inasistencia.fecha.ToString("yyyy-MM-dd"); cmd.Parameters.Add(new SqlParameter("@justificada", SqlDbType.Bit)).Value = inasistencia.Justificada; try { cmd.CommandText = sb.ToString(); cmd.ExecuteNonQuery(); tx.Commit(); connection.Close(); Usuario usu = new Usuario(); usu.id = TrabajoDeCampo.Properties.Settings.Default.SessionUser; new DAOSeguridad().grabarBitacora(usu, "Se modificó una inasistencia", CriticidadEnum.BAJA); new DAOSeguridad().recalcularDigitoVertical("INASISTENCIA_DE_ALUMNO"); } catch (Exception) { tx.Rollback(); connection.Close(); throw; } }
public List <Docente> listarDocentes(String filtro, String valor, String orden) { SqlDataReader reader = null; SqlConnection connection = ConexionSingleton.obtenerConexion(); connection.Open(); SqlTransaction tx = connection.BeginTransaction(); SqlCommand cmd = new SqlCommand(" SELECT * FROM DOCENTE ", connection, tx); List <Docente> docentes = new List <Docente>(); try { reader = cmd.ExecuteReader(); while (reader.Read()) { Docente docente = new Docente(); docente.legajo = (long)reader.GetValue(0); docente.apellido = reader.GetValue(1).ToString(); docente.nombre = reader.GetValue(2).ToString(); docentes.Add(docente); } reader.Close(); tx.Commit(); connection.Close(); } catch (Exception ex) { reader.Close(); tx.Rollback(); connection.Close(); throw ex; } return(docentes); }
public List <Tutor> listarTutor(String filtro, String valor, String orden) { SqlConnection connection = ConexionSingleton.obtenerConexion(); connection.Open(); SqlTransaction tx = connection.BeginTransaction(); List <Tutor> tutores = new List <Tutor>(); StringBuilder query = new StringBuilder(" select * from TUTOR "); if (!String.IsNullOrEmpty(filtro) && !String.IsNullOrEmpty(valor)) { // nombre apellido dni switch (filtro) { case "nombre": query.Append("WHERE TUT_NOMBRE = @VALOR "); break; case "apellido": query.Append(" WHERE TUT_APELLIDO = @VALOR "); break; case "dni": query.Append(" WHERE TUT_DNI = @VALOR "); break; } } SqlCommand cmd = new SqlCommand(query.ToString(), connection, tx); SqlDataReader reader = null; if (!String.IsNullOrEmpty(valor)) { cmd.Parameters.Add(new SqlParameter("@VALOR", SqlDbType.VarChar)).Value = valor; } try { reader = cmd.ExecuteReader(); while (reader.Read()) { Tutor tut = new Tutor(); tut.id = (long)reader.GetValue(0); tut.nombre = reader.GetValue(1).ToString(); tut.apellido = reader.GetValue(2).ToString(); tut.telefono1 = SeguridadUtiles.desencriptarAES(reader.GetValue(3).ToString()); if (reader.IsDBNull(4)) { tut.telefono2 = ""; } else { tut.telefono2 = SeguridadUtiles.desencriptarAES(reader.GetValue(4).ToString()); } tut.dni = reader.GetValue(5).ToString(); tut.email = reader.GetValue(6).ToString(); tutores.Add(tut); } reader.Close(); tx.Commit(); connection.Close(); } catch (Exception ex) { reader.Close(); tx.Rollback(); connection.Close(); throw ex; } return(tutores); }
public void actualizarAlumno(Alumno alumno) { SqlConnection connection = ConexionSingleton.obtenerConexion(); String deleteQuery = " delete from alumno_tutor where at_alumno_id = @id "; StringBuilder sb = new StringBuilder(); sb.Append(" update alumno set " + "alu_apellido = @apellido," + "alu_nombre = @nombre," + "alu_fecha_nacimiento = @fecha," + "alu_dni = @dni," + "alu_curso = @curso," + "alu_domicilio = @domicilio," + "alu_orientacion = @orientacion "); sb.Append(" where alu_legajo = @id "); connection.Open(); SqlTransaction tx = connection.BeginTransaction(); SqlCommand cmd = new SqlCommand("", connection, tx); cmd.Parameters.Add(new SqlParameter("@apellido", SqlDbType.VarChar)).Value = alumno.apellido; cmd.Parameters.Add(new SqlParameter("@nombre", SqlDbType.VarChar)).Value = alumno.nombre; cmd.Parameters.Add(new SqlParameter("@fecha", SqlDbType.DateTime)).Value = alumno.fechaNacimiento; cmd.Parameters.Add(new SqlParameter("@dni", SqlDbType.VarChar)).Value = alumno.dni; cmd.Parameters.Add(new SqlParameter("@curso", SqlDbType.BigInt)).Value = alumno.curso.id; cmd.Parameters.Add(new SqlParameter("@domicilio", SqlDbType.VarChar)).Value = SeguridadUtiles.encriptarAES(alumno.domicilio); cmd.Parameters.Add(new SqlParameter("@orientacion", SqlDbType.VarChar)).Value = alumno.orientacion != null ? alumno.orientacion.codigo : Convert.DBNull; cmd.Parameters.Add(new SqlParameter("@id", SqlDbType.VarChar)).Value = alumno.legajo; cmd.CommandText = sb.ToString(); try { cmd.ExecuteNonQuery(); cmd.CommandText = deleteQuery; cmd.ExecuteNonQuery(); sb.Clear(); int cantidad = 0; foreach (Tutor tutor in alumno.tutores) { cantidad++; cmd.Parameters.Add(new SqlParameter("@tut" + cantidad, SqlDbType.BigInt)).Value = tutor.id; sb.Append(" insert into alumno_tutor (at_alumno_id,at_tutor_id) values (@id,@tut" + cantidad + ") "); } cmd.CommandText = sb.ToString(); if (sb.ToString().Length > 0) { cmd.ExecuteNonQuery(); } tx.Commit(); connection.Close(); Usuario usu = new Usuario(); usu.id = TrabajoDeCampo.Properties.Settings.Default.SessionUser; new DAOSeguridad().grabarBitacora(usu, "Se modificó un alumno", CriticidadEnum.MEDIA); } catch (Exception ex) { tx.Rollback(); connection.Close(); throw; } }
public List <Alumno> listarAlumno(String filtro, String valor, String orden) { List <Alumno> alumnos = new List <Alumno>(); SqlConnection connection = ConexionSingleton.obtenerConexion(); DateTime principioDeAño = new DateTime(DateTime.Now.Year, 1, 1); DateTime finDeAño = new DateTime(DateTime.Now.Year, 12, 31); String queryInasistencias = " (select SUM(INA_VALOR) as inasistencias from inasistencia_de_alumno where ina_alumno_id = alu.alu_legajo and " + "ina_justificada <> 1 and ina_fecha between @princio and @fin " + "group by ina_alumno_id) , "; StringBuilder sb = new StringBuilder(); sb.Append(" select alu.alu_legajo, alu.alu_apellido, alu.alu_nombre, alu.alu_fecha_nacimiento, alu.alu_dni, alu.alu_curso, " + " alu.alu_domicilio, alu.alu_orientacion, " + " ori.ori_codigo, cur.cur_codigo , cur.cur_id, cur.cur_nivel_id, nivel.niv_codigo,ORI.ORI_NOMBRE, " + queryInasistencias + " (select count(*) from planilla_de_evaluacion where pde_alumno_id = alu.alu_legajo and pde_condicion = 0) as desaprobadas "); sb.Append(" from alumno alu "); sb.Append(" left join orientacion ori on ori.ori_codigo = alu.alu_orientacion "); sb.Append(" inner join curso cur on cur.cur_id = alu.alu_curso "); sb.Append(" inner join nivel nivel on cur.cur_nivel_id = nivel.niv_id"); sb.Append(" where alu.alu_borrado is null "); if (!String.IsNullOrEmpty(filtro) && !String.IsNullOrEmpty(valor)) { switch (filtro) { case "nombre": sb.Append(" and alu.alu_nombre = @valor "); break; case "apellido": sb.Append(" and alu.alu_apellido = @valor "); break; case "dni": sb.Append(" and alu.alu_dni = @valor "); break; case "curso": sb.Append(" and cur.cur_codigo = @valor "); break; } } connection.Open(); SqlTransaction tx = connection.BeginTransaction(); SqlCommand cmd = new SqlCommand(sb.ToString(), connection, tx); cmd.Parameters.Add(new SqlParameter("@princio", SqlDbType.Date)).Value = principioDeAño; cmd.Parameters.Add(new SqlParameter("@fin", SqlDbType.Date)).Value = finDeAño; if (!String.IsNullOrEmpty(filtro) && !String.IsNullOrEmpty(valor)) { cmd.Parameters.Add(new SqlParameter("@valor", SqlDbType.VarChar)).Value = valor; } SqlDataReader reader = null; try { reader = cmd.ExecuteReader(); while (reader.Read()) { Alumno alu = new Alumno(); Orientacion ori = new Orientacion(); Curso cur = new Curso(); alu.legajo = (long)reader["ALU_LEGAJO"]; alu.apellido = reader["ALU_APELLIDO"].ToString(); alu.nombre = reader["ALU_NOMBRE"].ToString(); alu.fechaNacimiento = DateTime.Parse(reader["ALU_FECHA_NACIMIENTO"].ToString()); alu.dni = reader["ALU_DNI"].ToString(); cur.id = (long)reader["CUR_ID"]; cur.codigo = reader["CUR_CODIGO"].ToString(); cur.nivel = new Nivel(); cur.nivel.id = (long)reader["CUR_NIVEL_ID"]; cur.nivel.codigo = reader["NIV_CODIGO"].ToString(); alu.curso = cur; alu.domicilio = SeguridadUtiles.desencriptarAES(reader["ALU_DOMICILIO"].ToString()); decimal faltas = reader.IsDBNull(14) ? 0 : (decimal)reader[14]; alu.puedeRepetir = (1 < faltas) || 2 < (int)reader["desaprobadas"]; if (reader.IsDBNull(8)) { ori.codigo = "null"; } else { ori.codigo = reader["ORI_CODIGO"].ToString(); ori.nombre = reader["ORI_NOMBRE"].ToString(); } alu.orientacion = ori; alumnos.Add(alu); } reader.Close(); String tutoresQuery = " select tut_id from alumno_tutor inner join tutor on at_tutor_id = tut_id where at_alumno_id = @id "; cmd.CommandText = tutoresQuery; foreach (Alumno alu in alumnos) { cmd.Parameters.Clear(); cmd.Parameters.Add(new SqlParameter("@id", SqlDbType.BigInt)).Value = alu.legajo; reader = cmd.ExecuteReader(); alu.tutores = new List <Tutor>(); while (reader.Read()) { Tutor tut = new Tutor(); tut.id = (long)reader["TUT_ID"]; alu.tutores.Add(tut); } reader.Close(); } reader.Close(); tx.Commit(); connection.Close(); } catch (Exception ex) { if (reader != null) { reader.Close(); } tx.Rollback(); connection.Close(); throw ex; } return(alumnos); }