コード例 #1
0
ファイル: DocenteDao.cs プロジェクト: nyasan/SI-ASA
        //Retorna TRUE si se insertó correctamente; FALSE en todo otro caso.
        public static int add(Docente docente, Persona docenteP, Horario horarioTrabajo)
        {
            int i = -1;
            string sql = @"INSERT INTO docentes
                         (id_persona, id_horario_trabajo, salario)
                         VALUES        (@id_persona,@id_horario_trabajo,@salario) SELECT CAST(scope_identity() AS int)";

            SqlConnection cn = new SqlConnection();
            cn.ConnectionString = "Data Source=ALEBELTRAMEN\\ALEJANDRA;Initial Catalog=ASA;Integrated Security=True";
            //PONER LA STRINGCONNECTION CORRECTA!!!

            try
            {
                cn.Open();
                SqlCommand cmd = new SqlCommand(sql, cn);

                cmd.Parameters.AddWithValue("@id_persona", PersonaDao.add(docenteP));
                cmd.Parameters.AddWithValue("@id_horario_trabajo", HorarioDao.add(horarioTrabajo));
                cmd.Parameters.AddWithValue("@salario", docente.salario);
                resetearAutoIncrement(MaxLegajo() - 1); // aca le pone el autoincrement en el ultimo legajo de la tabla, pido el max legajo, -1 es el ultimo de la tabla
                i= (Int32) cmd.ExecuteScalar();
            }
            catch (SqlException ex)
            {
                throw new ApplicationException("Error al insertar al Docente" + ex.Message);
            }
            finally
            {
                cn.Close();
            }

            return i;
        }
コード例 #2
0
ファイル: docente_x_cursoDao.cs プロジェクト: nyasan/SI-ASA
        public static void registrarCursadoDocente(Docente docente, List<int> idCursos, DateTime fechaInscripcion)
        {
            int i = -1;
            String sql = @"INSERT INTO docente_x_curso
                         (legajo_docente, id_curso, fecha_inscripcion)
                         VALUES        (@legajo_docente,@id_curso,@fecha_inscripcion)";
            SqlConnection cn = new SqlConnection();
            cn.ConnectionString = "Data Source=ALEBELTRAMEN\\ALEJANDRA;Initial Catalog=ASA;Integrated Security=True";
            cn.Open();
            SqlTransaction sqltran = cn.BeginTransaction();

            try
            {

                SqlCommand cmd = new SqlCommand(sql, cn);
                cmd.Transaction = sqltran;

                 foreach (int l in idCursos)
                  {
                      sql = @"INSERT INTO docente_x_curso
                          (legajo_docente, id_curso, fecha_inscripcion)
                          VALUES        (@legajo_docente" + l + ",@id_curso" + l + ",@fecha_inscripcion" + l + ")";
                      cmd.CommandText = sql;
                      cmd.Parameters.AddWithValue("@legajo_docente" + l, docente.legajo);
                      cmd.Parameters.AddWithValue("@id_curso" + l, l);
                      cmd.Parameters.AddWithValue("@fecha_inscripcion" + l, fechaInscripcion);
                      cmd.ExecuteNonQuery();
                }

                sqltran.Commit();
                cn.Close();
            }
            catch (SqlException ex)
            {
                throw new ApplicationException("Error al registrar al Docente en el/los curso/s");
                try
                {
                    // Attempt to roll back the transaction.
                    sqltran.Rollback();
                }
                catch (Exception exRollback)
                {
                    // Throws an InvalidOperationException if the connection
                    // is closed or the transaction has already been rolled
                    // back on the server.
                    Console.WriteLine(exRollback.Message);
                }
            }
            finally
            {
                cn.Close();
            }
        }
コード例 #3
0
ファイル: DocenteDao.cs プロジェクト: nyasan/SI-ASA
        public static List<Docente> buscarPorParametros(String nombre, String apellido, int legajo,int tipo_documento, int numero)
        {
            List<Docente> listDocentes = new List<Docente>();

            string sql = @"SELECT        a.legajo, a.id_persona, id_horario_trabajo, salario
                         FROM            docentes AS a INNER JOIN
                         personas AS pA ON a.id_persona = pA.id
                         WHERE        (1 = 1) ";

            if (nombre != "")
                sql += " AND (pA.nombre LIKE @nombre)";
            if (apellido != "")
                sql += " AND (pA.apellido LIKE @apellido)";
            if (legajo != 0)
                sql += " AND (a.legajo = @legajo)";
            if (tipo_documento != 0 && numero != 0)
                sql += " AND (pA.id_tipo_documento = @tipo_documento) AND (pA.nro_documento = @numero)";

            SqlConnection cn = new SqlConnection();
            cn.ConnectionString = "Data Source=ALEBELTRAMEN\\ALEJANDRA;Initial Catalog=ASA;Integrated Security=True";
            //PONER LA STRINGCONNECTION CORRECTA!!!

            try
            {
                cn.Open();
                SqlCommand cmd = new SqlCommand(sql, cn);

                if (nombre != "")
                    cmd.Parameters.AddWithValue("@nombre", "%" + nombre + "%");
                if (apellido != "")
                    cmd.Parameters.AddWithValue("@apellido", "%" + apellido + "%");
                if (legajo != 0)
                    cmd.Parameters.AddWithValue("@legajo", legajo);
                if (tipo_documento != 0 && numero != 0)
                {
                    cmd.Parameters.AddWithValue("@tipo_documento", tipo_documento);
                    cmd.Parameters.AddWithValue("@numero", numero);
                }

                SqlDataReader dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    Docente docente = new Docente()
                    {
                        legajo = (int)dr["legajo"],
                        docente = PersonaDao.obtenerPersona((int)(dr["id_persona"])),
                        salario = float.Parse(dr["salario"].ToString()),
                        horarioTrabajo = HorarioDao.obtener(int.Parse(dr["id_horario_trabajo"].ToString()))
                    };
                    listDocentes.Add(docente);
                }
                dr.Close();

            }
            catch (SqlException ex)
            {
                throw new ApplicationException("Error al buscar los Docentes" + ex.Message);
            }
            finally
            {
                cn.Close();
            }
            return listDocentes;
        }
コード例 #4
0
ファイル: DocenteDao.cs プロジェクト: nyasan/SI-ASA
        public static void update(Docente docenteViejo, Docente docenteNuevo)
        {
            string sql = @"UPDATE       docentes
                         SET                id_horario_trabajo = @id_horario_trabajo_nuevo, salario = @salario_nuevo
                        WHERE        (legajo = @legajoDocente)";

            SqlConnection cn = new SqlConnection();
            cn.ConnectionString = "Data Source=ALEBELTRAMEN\\ALEJANDRA;Initial Catalog=ASA;Integrated Security=True";

            try
            {
                cn.Open();
                SqlCommand cmd = new SqlCommand(sql, cn);

                cmd.Parameters.AddWithValue("@legajoDocente", docenteViejo.legajo);
                cmd.Parameters.AddWithValue("@id_horario_trabajo_nuevo", HorarioDao.update( docenteNuevo.horarioTrabajo));
                cmd.Parameters.AddWithValue("@salario_nuevo", docenteNuevo.salario);
                PersonaDao.update(docenteViejo.docente, docenteNuevo.docente);

             cmd.ExecuteNonQuery();
            }
            catch (SqlException ex)
            {
                throw new ApplicationException("Error al actualizar los datos del Docente" + ex.Message);
            }
            finally
            {
                cn.Close();
            }
        }
コード例 #5
0
ファイル: DocenteDao.cs プロジェクト: nyasan/SI-ASA
        public static List<Docente> obtenerTodo()
        {
            List<Docente> listDocentes = new List<Docente>();

            string sql = @"SELECT        d.legajo, d.id_persona, d.id_horario_trabajo, d.salario, p.id, p.nombre, p.apellido, p.nro_documento, p.telefono, p.id_tipo_documento, p.celular, p.mail, p.fecha_nacimiento
                         FROM            docentes AS d INNER JOIN
                         personas AS p ON d.id_persona = p.id";

            SqlConnection cn = new SqlConnection();
            cn.ConnectionString = "Data Source=ALEBELTRAMEN\\ALEJANDRA;Initial Catalog=ASA;Integrated Security=True";
            //PONER LA STRINGCONNECTION CORRECTA!!!

            try
            {
                cn.Open();
                SqlCommand cmd = new SqlCommand(sql, cn);
                SqlDataReader dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    Docente docente = new Docente();

                    docente.docente = PersonaDao.obtenerPersona(int.Parse(dr["id_persona"].ToString()));
                    docente.legajo = int.Parse(dr["legajo"].ToString());
                    docente.horarioTrabajo = HorarioDao.obtener((int)dr["id_horario_trabajo"]);
                    docente.salario = float.Parse(dr["salario"].ToString());

                    listDocentes.Add(docente);
                }
                dr.Close();
                cn.Close();
            }
            catch (SqlException ex)
            {
                if (cn.State == ConnectionState.Open)
                    cn.Close();
                throw new ApplicationException("Error al buscar los Docentes" + ex.Message);
            }
            return listDocentes;
        }
コード例 #6
0
ファイル: DocenteDao.cs プロジェクト: nyasan/SI-ASA
        public static Docente obtenerPorLegajo(int legajo)
        {
            Docente docente = new Docente();
            string sql = @"SELECT        d.legajo, d.id_persona, d.id_horario_trabajo, d.salario, p.id, p.nombre, p.apellido, p.nro_documento, p.domicilio, p.telefono, p.id_tipo_documento, p.celular, p.mail, p.fecha_nacimiento
                         FROM            docentes AS d INNER JOIN
                         personas AS p ON d.id_persona = p.id
                         WHERE        (d.legajo = @legajo)";

            SqlConnection cn = new SqlConnection();
            cn.ConnectionString = "Data Source=ALEBELTRAMEN\\ALEJANDRA;Initial Catalog=ASA;Integrated Security=True";
            //PONER LA STRINGCONNECTION CORRECTA!!!

            try
            {
                cn.Open();
                SqlCommand cmd = new SqlCommand(sql, cn);
                cmd.Parameters.AddWithValue("@legajo", legajo);
                SqlDataReader dr = cmd.ExecuteReader();
                if (!dr.HasRows)
                {
                    docente = null;
                }
                else
                {
                    dr.Read();
                    docente.legajo = (int)dr["legajo"];
                    docente.docente = PersonaDao.obtenerPersona((int)(dr["id_persona"]));
                    docente.horarioTrabajo = HorarioDao.obtener((int)(dr["id_horario_trabajo"]));
                    docente.salario = float.Parse(dr["salario"].ToString());

                    dr.Close();
                    cn.Close();
                }
            }
            catch (SqlException ex)
            {
                if (cn.State == ConnectionState.Open)
                    cn.Close();
                throw new ApplicationException("Error al buscar el Docente" + ex.Message);
            }
            return docente;
        }
コード例 #7
0
ファイル: DocenteDao.cs プロジェクト: nyasan/SI-ASA
        public static void delete(Docente docente)
        {
            int i = -1;

            string sql = @"DELETE FROM docentes
                         WHERE        (legajo = @legajo)";

            SqlConnection cn = new SqlConnection();
            cn.ConnectionString = "Data Source=ALEBELTRAMEN\\ALEJANDRA;Initial Catalog=ASA;Integrated Security=True";

            try
            {
                cn.Open();
                SqlCommand cmd = new SqlCommand(sql, cn);

                cmd.Parameters.AddWithValue("@legajo", docente.legajo);

                cmd.ExecuteNonQuery();
                PersonaDao.delete(docente.docente);
            }
            catch (SqlException ex)
            {
                throw new ApplicationException("Error al eliminar el Docente" + ex.Message);
            }
            finally
            {
                cn.Close();
            }
        }