Esempio n. 1
0
        //recibe TUTOR o ALUMNO
        public Boolean verificarDNI(String dni, String tipo, long entityId)
        {
            StringBuilder query = new StringBuilder();

            query.Append(" select count(*) from ");
            if (tipo == "tutor")
            {
                query.Append(" tutor where tut_dni = @dni ");
                if (entityId != 0)
                {
                    query.Append(" and tut_id <> @id ");
                }
            }
            else
            {
                query.Append(" alumno where alu_dni = @dni and alu_borrado is null ");
                if (entityId != 0)
                {
                    query.Append(" and alu_legajo <> @id ");
                }
            }

            SqlConnection connection = ConexionSingleton.obtenerConexion();

            connection.Open();
            SqlTransaction tx = connection.BeginTransaction();

            Boolean repetido = true;

            SqlCommand cmd = new SqlCommand(query.ToString(), connection, tx);

            cmd.Parameters.Add(new SqlParameter("@dni", SqlDbType.VarChar)).Value = dni;
            cmd.Parameters.Add(new SqlParameter("@id", SqlDbType.BigInt)).Value   = entityId;

            SqlDataReader reader = null;

            try
            {
                reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    int count = (int)reader.GetValue(0);
                    if (count == 0)
                    {
                        repetido = false;
                    }
                }
                reader.Close();
                tx.Commit();
                connection.Close();
            }
            catch (Exception ex)
            {
                reader.Close();
                tx.Rollback();
                connection.Close();
                throw ex;
            }
            return(repetido);
        }
Esempio n. 2
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;
                }
            }
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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;
            }
        }
Esempio n. 5
0
        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;
            }
        }
Esempio n. 6
0
        public void borrarAlumno(Alumno alumno)
        {
            SqlConnection connection = ConexionSingleton.obtenerConexion();

            String deleteQuery = " update alumno set alu_borrado = 1 where alu_legajo = @id delete alumno_tutor where at_alumno_id = @id";

            connection.Open();
            SqlTransaction tx  = connection.BeginTransaction();
            SqlCommand     cmd = new SqlCommand(deleteQuery, connection, tx);

            cmd.Parameters.Add(new SqlParameter("@id", SqlDbType.VarChar)).Value = alumno.legajo;
            try
            {
                cmd.ExecuteNonQuery();
                tx.Commit();
                connection.Close();
                Usuario usu = new Usuario();
                usu.id = TrabajoDeCampo.Properties.Settings.Default.SessionUser;
                new DAOSeguridad().grabarBitacora(usu, "Se borró alumno", CriticidadEnum.ALTA);
            }
            catch (Exception ex)
            {
                tx.Rollback();
                connection.Close();
                throw;
            }
        }
Esempio n. 7
0
        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;
            }
        }
Esempio n. 8
0
        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;
            }
        }
Esempio n. 9
0
        public void borrarTutor(Tutor tutor)
        {
            SqlConnection connection = ConexionSingleton.obtenerConexion();

            connection.Open();
            SqlTransaction tx = connection.BeginTransaction();

            SqlCommand    cmd   = new SqlCommand("", connection, tx);
            StringBuilder query = new StringBuilder();

            query.Append(" DELETE TUTOR ");
            query.Append(" WHERE TUT_ID = @ID ");
            cmd.Parameters.Add(new SqlParameter("@ID", SqlDbType.BigInt)).Value = tutor.id;
            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 borró un tutor", CriticidadEnum.MEDIA);
            }
            catch (Exception ex)
            {
                tx.Rollback();
                connection.Close();
                throw ex;
            }
        }
Esempio n. 10
0
        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;
            }
        }
Esempio n. 11
0
        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;
            }
        }
Esempio n. 12
0
        // antes de borrar
        public Boolean materiaEstaAsignada(Materia materia)
        {
            Boolean       estaAsignada = false;
            SqlDataReader reader;
            SqlConnection connection = ConexionSingleton.obtenerConexion();
            String        query      = "SELECT COUNT(*) FROM MATERIA_NIVEL WHERE MN_MATERIA_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
            {
                reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    int resultadoCount = (int)reader.GetValue(0);
                    estaAsignada = (resultadoCount > 0);
                }
                reader.Close();
                tx.Commit();
                connection.Close();
            }
            catch (Exception ex)
            {
                tx.Rollback();
                connection.Close();
                throw ex;
            }

            return(estaAsignada);
        }
Esempio n. 13
0
        //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);
        }
Esempio n. 14
0
        //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;
            }
        }
Esempio n. 15
0
        //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;
            }
        }
Esempio n. 16
0
        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);
        }
Esempio n. 17
0
        //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;
            }
        }
Esempio n. 18
0
        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;
            }
        }
Esempio n. 19
0
        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);
        }
Esempio n. 20
0
        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);
        }
Esempio n. 21
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;
            }
        }
Esempio n. 22
0
        //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);
        }
Esempio n. 23
0
        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);
        }
Esempio n. 24
0
        /// <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);
        }
Esempio n. 25
0
        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);
        }
Esempio n. 26
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);
        }
Esempio n. 27
0
        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);
        }
Esempio n. 28
0
        //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;
            }
        }
Esempio n. 29
0
        // 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);
        }
Esempio n. 30
0
        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;
            }
        }