Пример #1
0
        //USUARIOS

        public void cambiarContraseña(long idUsuario, String contraseñaNueva, String contraseñaVieja)
        {
            Usuario usu = daoSeguridad.buscarUsuario(idUsuario);
            String  contraseñaEncriptada = SeguridadUtiles.encriptarMD5(contraseñaNueva);

            if (!SeguridadUtiles.encriptarMD5(contraseñaVieja).Equals(usu.pass))
            {
                throw new Exception("PASS");
            }
            this.daoSeguridad.cambiarContraseña(idUsuario, contraseñaEncriptada);
            enviarMail(contraseñaNueva, usu, false);
        }
Пример #2
0
    protected void Page_Load(object sender, EventArgs e)
    {
        String data = Request.Params.Get("data");

        if (data != null)
        {
            data = CryptoUtils.desencriptarAES(data);
            String user = data.Split(',')[0];
            String pass = data.Split(',')[1];
            if (user != null && pass != null)
            {
                SeguridadUtiles.cambiarPassword(user, pass);
            }
            Response.Redirect("Login.aspx");
        }
    }
Пример #3
0
        public void crearUsuario(Usuario usuario)
        {
            bool   hayRepetidos         = this.daoSeguridad.chequearCamposUnicos(usuario);
            String contraseña           = SeguridadUtiles.generarPassword();
            String contraseñaEncriptada = SeguridadUtiles.encriptarMD5(contraseña);

            usuario.pass = contraseñaEncriptada;

            if (!hayRepetidos)
            {
                this.daoSeguridad.crearUsuario(ref usuario);
                this.enviarMail(contraseña, usuario, false);
            }
            else
            {
                throw new Exception("REPETIDOS");
            }
        }
Пример #4
0
        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);
        }
Пример #5
0
 public static void restaurarPassword(String user, String password, HttpResponse response)
 {
     SeguridadUtiles.cambiarPassword(user, password);
     response.Redirect("Login.aspx");
 }
Пример #6
0
        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);
        }
Пример #7
0
        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;
            }
        }
Пример #8
0
        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);
        }
Пример #9
0
        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;
            }
        }
Пример #10
0
        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;
            }
        }
Пример #11
0
        //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;
            }
        }
Пример #12
0
        //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;
                }
            }
        }