private void but_agregar_materia_Click(object sender, EventArgs e)
        {
            if (this.verificar_datos_materia())
            {

                if (tex_descripcion.Text.Length == 0)
                {
                    tex_descripcion.Text = "";
                }

                StringBuilder errorMessages = new StringBuilder();
                Materia mat = new Materia();

                mat.v_nombre = tex_nombre.Text;
                mat.v_clave = tex_clave.Text;
                mat.v_descripcion = tex_descripcion.Text;
                mat.v_usuario_i = this.usuario;
                mat.v_Dfacultad = com_facultad.SelectedItem.ToString();

                try
                {
                    if (mat.AgregarMateria(mat) != 0)
                    {
                        MessageBox.Show("Materia creada correctamente" + "\n" + "Nombre: " + mat.v_nombre,
                        "Agregar Materia",
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Information);
                        this.inicializarDatos();
                    }
                }
                catch (SqlException ex)
                {
                    for (int i = 0; i < ex.Errors.Count; i++)
                    {
                        errorMessages.Append("Index #" + i + "\n" +
                        "Message: " + ex.Errors[i].Message + "\n" +
                        "LineNumber: " + ex.Errors[i].LineNumber + "\n" +
                        "Source: " + ex.Errors[i].Source + "\n" +
                        "Procedure: " + ex.Errors[i].Procedure + "\n");
                    }
                    Console.WriteLine(errorMessages.ToString());

                    MessageBox.Show(ex.Errors[0].Message.ToString(),
                    "Agregar Materia",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Warning);
                }
            }
        }
        private void mostrarLista()
        {
            StringBuilder errorMessages = new StringBuilder();
            Materia mat = new Materia();
            try
            {

                if ((mat.OptenerFacultad(mat)).v_facultad.Count != 0)
                {
                    SLfacultad = new SortedList();
                    foreach (String facu in mat.v_facultad)
                    {
                        SLfacultad.Add(facu, facu);
                    }
                    com_facultad.DataSource = SLfacultad.GetValueList();
                    com_facultad.Show();
                }
            }
            catch (SqlException ex)
            {
                for (int i = 0; i < ex.Errors.Count; i++)
                {
                    errorMessages.Append("Index #" + i + "\n" +
                    "Message: " + ex.Errors[i].Message + "\n" +
                    "LineNumber: " + ex.Errors[i].LineNumber + "\n" +
                    "Source: " + ex.Errors[i].Source + "\n" +
                    "Procedure: " + ex.Errors[i].Procedure + "\n");
                }
                Console.WriteLine(errorMessages.ToString());

                MessageBox.Show(ex.Errors[0].Message.ToString(),
                "Agregar Materia",
                MessageBoxButtons.OK,
                MessageBoxIcon.Warning);
            }
        }
        private void but_eliminar_materia_Click(object sender, EventArgs e)
        {
            StringBuilder errorMessages = new StringBuilder();
            Materia mat = new Materia();
            if (tex_nombre.Text.Length == 0)
            {
                this.inicializarDatos();
                MessageBox.Show("Debe ingresar un Nombre",
                "Eliminar Materia",
                MessageBoxButtons.OK,
                MessageBoxIcon.Warning);
            }
            else
            {
                try
                {
                    mat.v_nombre = tex_nombre.Text;
                    mat.v_usuario_m = this.usuario;

                    if ((mat.ConsultarMateria(mat)).v_nombre.Length != 0)
                    {
                        tex_nombre.Text = mat.v_nombre;
                        tex_clave.Text = mat.v_clave;
                        tex_descripcion.Text = mat.v_descripcion;

                        SLfacultad.Add(mat.v_Dfacultad, mat.v_Dfacultad);
                        com_facultad.DataSource = SLfacultad.GetValueList();
                        com_facultad.Show();
                        com_facultad.Enabled = false;
                        SLfacultad.Clear();

                        if ((MessageBox.Show("¿Desea eliminar la Materia con Nombre: " + mat.v_nombre + " ?", "Eliminar Materia", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes))
                        {

                            try
                            {
                                if (mat.EliminarMateria(mat) != 0)
                                {
                                    this.inicializarDatos();
                                    com_facultad.DataSource = null;
                                    com_facultad.Show();
                                    MessageBox.Show("Materia eliminada correctamente",
                                    "Eliminar Materia",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Information);
                                }

                            }
                            catch (SqlException ex)
                            {
                                for (int i = 0; i < ex.Errors.Count; i++)
                                {

                                    errorMessages.Append("Index #" + i + "\n" +
                                    "Message: " + ex.Errors[i].Message + "\n" +
                                    "LineNumber: " + ex.Errors[i].LineNumber + "\n" +
                                    "Source: " + ex.Errors[i].Source + "\n" +
                                    "Procedure: " + ex.Errors[i].Procedure + "\n");
                                }
                                Console.WriteLine(errorMessages.ToString());
                                this.inicializarDatos();
                                MessageBox.Show(ex.Errors[0].Message.ToString(),
                                    "Eliminar Materia",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Warning);
                            }
                        }
                    }
                }
                catch (SqlException ex)
                {
                    for (int i = 0; i < ex.Errors.Count; i++)
                    {
                        errorMessages.Append("Index #" + i + "\n" +
                        "Message: " + ex.Errors[i].Message + "\n" +
                        "LineNumber: " + ex.Errors[i].LineNumber + "\n" +
                        "Source: " + ex.Errors[i].Source + "\n" +
                        "Procedure: " + ex.Errors[i].Procedure + "\n");
                    }
                    Console.WriteLine(errorMessages.ToString());
                    this.inicializarDatos();
                    MessageBox.Show(ex.Errors[0].Message.ToString(),
                    "Eliminar Materia",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Warning);
                }

            }
        }