//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; } } }
//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; } }
public void modificarTutor(Tutor tutor) { SqlConnection connection = ConexionSingleton.obtenerConexion(); connection.Open(); SqlTransaction tx = connection.BeginTransaction(); SqlCommand cmd = new SqlCommand("", connection, tx); StringBuilder query = new StringBuilder(" UPDATE TUTOR SET " + "TUT_NOMBRE = @NOMBRE," + "TUT_APELLIDO = @APELLIDO, " + "TUT_TELEFONO_PRIMARIO = @TEL1, " + "TUT_DNI = @DNI, " + "TUT_EMAIL = @MAIL "); if (!String.IsNullOrEmpty(tutor.telefono2)) { query.Append(", TUT_TELEFONO_SECUNDARIO = @TEL2 "); cmd.Parameters.Add(new SqlParameter("@TEL2", SqlDbType.NVarChar)).Value = SeguridadUtiles.encriptarAES(tutor.telefono2); } query.Append(" WHERE TUT_ID = @ID "); cmd.Parameters.Add(new SqlParameter("@ID", SqlDbType.BigInt)).Value = tutor.id; 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 modificó un tutor", CriticidadEnum.BAJA); } catch (Exception ex) { tx.Rollback(); connection.Close(); throw ex; } }
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; } }
//alumnos public void guardarAlumno(Alumno alumno) { SqlConnection connection = ConexionSingleton.obtenerConexion(); StringBuilder sb = new StringBuilder(); sb.Append(" insert into alumno (alu_apellido,alu_nombre,alu_fecha_nacimiento,alu_dni,alu_curso,alu_domicilio "); if (alumno.orientacion != null) { sb.Append(" ,alu_orientacion"); } sb.Append(" ) "); sb.Append(" OUTPUT Inserted.alu_legajo values( "); sb.Append(" @apellido, "); sb.Append(" @nombre, "); sb.Append(" @fecha, "); sb.Append(" @dni, "); sb.Append(" @curso, "); sb.Append(" @domicilio "); if (alumno.orientacion != null) { sb.Append(" ,@orientacion"); } sb.Append(" ) "); 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); if (alumno.orientacion != null) { cmd.Parameters.Add(new SqlParameter("@orientacion", SqlDbType.VarChar)).Value = alumno.orientacion.codigo; } cmd.CommandText = sb.ToString(); SqlDataReader reader = null; try { reader = cmd.ExecuteReader(); while (reader.Read()) { alumno.legajo = (long)reader.GetValue(0); } reader.Close(); 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 (@alumno,@tut" + cantidad + ") "); } cmd.Parameters.Add(new SqlParameter("@alumno", SqlDbType.BigInt)).Value = alumno.legajo; 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 creó alumno", CriticidadEnum.MEDIA); new DAOAdministracion().generarPlanillasDeEvaluacion(alumno); } catch (Exception ex) { tx.Rollback(); connection.Close(); throw; } }