Example #1
0
        // Get all courses of speciefied profesor
        public static List <int> GetAllCoursesFromDNIProfesor(string dni)
        {
            List <int> allCourses = new List <int>();

            Conexion con = new Conexion();

            con.Abrir();
            string       query  = "SELECT * FROM `curso`";
            MySqlCommand comand = con.Comando(query);

            MySqlDataReader myReader = comand.ExecuteReader();

            DataTable tablaCursos = new DataTable();

            tablaCursos.Load(myReader);

            foreach (DataRow row in tablaCursos.Rows)
            {
                // Obtiene el profesor del curso recorrido y compara si coincide con el profesor que estamos actualizando
                if (dni.Equals(IDtoTEXT.GetProfesorDNIFromIDInAsignatura(IDtoTEXT.GetIDAsignaturaFromAsignaturaInCurso(int.Parse(row["ID"].ToString())))))
                {
                    // Si coincide entonces lo aniadimos a cursos del profesor
                    allCourses.Add(int.Parse(row["ID"].ToString()));
                }
            }

            con.Cerrar();

            return(allCourses);
        }
Example #2
0
        // Cargar asignaturas
        public void CargarAsignaturas()
        {
            // Limpia listViewAsignaturas
            listViewAsignaturas.Items.Clear();

            Conexion con = new Conexion();

            con.Abrir();
            string       query  = "SELECT * FROM `asignatura`";
            MySqlCommand comand = con.Comando(query);

            MySqlDataReader myReader = comand.ExecuteReader();

            DataTable tablaAsignaturas = new DataTable();

            tablaAsignaturas.Load(myReader);

            foreach (DataRow row in tablaAsignaturas.Rows)
            {
                ListViewItem lvi = new ListViewItem();
                lvi.Text = row["ID"].ToString();
                lvi.SubItems.Add(row["carrera"].ToString());
                lvi.SubItems.Add(row["asignatura"].ToString());
                lvi.SubItems.Add(IDtoTEXT.GetProfesorFullNameFromDNIInProfesor(row["profesor"].ToString()));

                listViewAsignaturas.Items.Add(lvi);
            }

            con.Cerrar();
        }
Example #3
0
        // Carga cursos
        public void cargarCursos(string dni)
        {
            // Limpia listViews
            listViewCursosDesapuntado.Items.Clear();
            listViewCursosApuntado.Items.Clear();

            Conexion con = new Conexion();

            con.Abrir();

            string       query  = "SELECT * FROM `curso`;";
            MySqlCommand comand = con.Comando(query);

            MySqlDataReader myReader    = comand.ExecuteReader();
            DataTable       tablaCursos = new DataTable();

            tablaCursos.Load(myReader);

            // Introduce todos los cursos en listBiewcursosDesapuntado
            foreach (DataRow row in tablaCursos.Rows)
            {
                listViewCursosDesapuntado.Items.Add(row["ID"].ToString() + " " + IDtoTEXT.GetAsignaturaFromIDAsignaturaInAsignatura(IDtoTEXT.GetIDAsignaturaFromAsignaturaInCurso(int.Parse(row["ID"].ToString()))));
            }

            // Busca los cursos a los que esta apuntado el dni en cursoalumnos
            string       queryApuntado  = "SELECT * FROM `cursoalumno` WHERE `DNIAlumno` = '" + dni + "';";
            MySqlCommand comandApuntado = con.Comando(queryApuntado);

            MySqlDataReader myReaderApuntado    = comandApuntado.ExecuteReader();
            DataTable       tablaCursosApuntado = new DataTable();

            tablaCursosApuntado.Load(myReaderApuntado);

            // Introduce los cursos a los que esta apuntado el alumno y lo elimina de la lista de desapuntados
            foreach (DataRow row in tablaCursosApuntado.Rows)
            {
                listViewCursosApuntado.Items.Add(row["IDCurso"].ToString() + " " + IDtoTEXT.GetAsignaturaFromIDAsignaturaInAsignatura(IDtoTEXT.GetIDAsignaturaFromAsignaturaInCurso(int.Parse(row["IDCurso"].ToString()))));

                List <ListViewItem> itemsEliminar = new List <ListViewItem>();
                foreach (ListViewItem lvi in listViewCursosDesapuntado.Items)
                {
                    if (lvi.Text.Equals(row["IDCurso"].ToString() + " " + IDtoTEXT.GetAsignaturaFromIDAsignaturaInAsignatura(IDtoTEXT.GetIDAsignaturaFromAsignaturaInCurso(int.Parse(row["IDCurso"].ToString())))))
                    {
                        itemsEliminar.Add(lvi);
                    }
                }

                foreach (ListViewItem lvi in itemsEliminar)
                {
                    listViewCursosDesapuntado.Items.Remove(lvi);
                }
            }
        }
Example #4
0
        // Click buttonEliminarHorario
        private void buttonEliminarHorario_Click(object sender, EventArgs e)
        {
            try
            {
                ComboItem idAula = comboBoxAulas.SelectedItem as ComboItem;

                int idCursoAula = int.Parse(dataGridView.Rows[dataGridView.SelectedCells[0].RowIndex].Cells[dataGridView.SelectedCells[0].ColumnIndex].Value.ToString().Split(' ')[0]);

                Conexion con = new Conexion();
                con.Abrir();

                // Obtiene IDCurso del IDCursoAula eliminado
                int idCurso = IDtoTEXT.GetIDCursoFromIDCursoAulaInCursoAula(idCursoAula);

                string       query  = "DELETE FROM `cursoaula` WHERE `cursoaula`.`IDCursoAula` = " + idCursoAula;
                MySqlCommand comand = con.Comando(query);

                MySqlDataReader myReader = comand.ExecuteReader();

                DataTable tablaCursoAula = new DataTable();
                tablaCursoAula.Load(myReader);

                // Recarga el dataGridView
                FormHorarios.sharedInstance.dateTimePicker_ValueChanged(null, null);

                // Calcula las horas totales de este curso y actualiza el precio
                Utils.CalcularPrecioCurso(idCurso);

                MessageBox.Show("Horario eliminado", "HORARIO ELIMINADO", MessageBoxButtons.OK, MessageBoxIcon.Information);

                con.Cerrar();
            }
            catch (System.FormatException)
            {
                MessageBox.Show("No hay horario establecido en la celda seleccionada.", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        // Cargar profesores
        private void CargarProfesores()
        {
            // Limpia comboBoxProfesores
            comboBoxProfesores.Items.Clear();

            Conexion con = new Conexion();

            con.Abrir();
            string       query  = "SELECT * FROM `profesor`";
            MySqlCommand comand = con.Comando(query);

            MySqlDataReader myReader = comand.ExecuteReader();

            DataTable tablaProfesores = new DataTable();

            tablaProfesores.Load(myReader);

            foreach (DataRow row in tablaProfesores.Rows)
            {
                comboBoxProfesores.Items.Add(new ComboItem(IDtoTEXT.GetProfesorFullNameFromDNIInProfesor(row["DNI"].ToString()), row["DNI"].ToString()));
            }

            con.Cerrar();
        }
Example #6
0
        // Click BtnBuscar
        private void BtnBuscar_Click(object sender, EventArgs e)
        {
            try
            {
                // Limpia listViewCursos
                listViewCursos.Items.Clear();

                RadioButton rb = new RadioButton();

                if (radioButtonCarrera.Checked)
                {
                    rb = radioButtonCarrera;
                }
                else if (radioButtonAsignatura.Checked)
                {
                    rb = radioButtonAsignatura;
                }
                else if (radioButtonTipoCurso.Checked)
                {
                    rb = radioButtonTipoCurso;
                }
                else if (radioButtonProfesor.Checked)
                {
                    rb = radioButtonProfesor;
                }
                else if (radioButtonMostrarTodos.Checked)
                {
                    rb = radioButtonMostrarTodos;
                }

                switch (rb.Text)
                {
                case "Carrera":
                    // Carga todos los cursos
                    Conexion con = new Conexion();
                    con.Abrir();
                    string       query  = "SELECT * FROM `curso`";
                    MySqlCommand comand = con.Comando(query);

                    MySqlDataReader myReader = comand.ExecuteReader();

                    DataTable tablaCursos = new DataTable();
                    tablaCursos.Load(myReader);

                    // Carga los datos en listViewCursos
                    foreach (DataRow row in tablaCursos.Rows)
                    {
                        ListViewItem lvi = new ListViewItem();

                        // asignatura
                        string          queryAs         = "SELECT `carrera`, `asignatura` FROM `asignatura` WHERE `id` = " + row["asignatura"].ToString();
                        MySqlCommand    comandAs        = con.Comando(queryAs);
                        MySqlDataReader myReaderAs      = comandAs.ExecuteReader();
                        DataTable       tablaAsignatura = new DataTable();
                        tablaAsignatura.Load(myReaderAs);

                        if (tablaAsignatura.Rows[0]["carrera"].ToString().Equals(comboBoxBusquedaCursos.SelectedItem.ToString()))
                        {
                            // id
                            lvi.Text = row["id"].ToString();

                            // asignatura
                            lvi.SubItems.Add(tablaAsignatura.Rows[0]["asignatura"].ToString());

                            // tipoCurso
                            string          queryTC    = "SELECT `tipoCurso` FROM `precio` WHERE `id` = " + row["tipoCurso"].ToString();
                            MySqlCommand    comandTC   = con.Comando(queryTC);
                            MySqlDataReader myReaderTC = comandTC.ExecuteReader();
                            DataTable       tablaTC    = new DataTable();
                            tablaTC.Load(myReaderTC);
                            lvi.SubItems.Add(tablaTC.Rows[0]["tipoCurso"].ToString());

                            // precio
                            lvi.SubItems.Add(row["precio"].ToString());

                            // Add to listViewCursos
                            listViewCursos.Items.Add(lvi);
                        }
                    }
                    con.Cerrar();
                    break;

                case "Asignatura":
                    // Carga todos los cursos
                    Conexion con2 = new Conexion();
                    con2.Abrir();
                    string       query2  = "SELECT * FROM `curso`";
                    MySqlCommand comand2 = con2.Comando(query2);

                    MySqlDataReader myReader2 = comand2.ExecuteReader();

                    DataTable tablaCursos2 = new DataTable();
                    tablaCursos2.Load(myReader2);

                    // Carga los datos en listViewCursos
                    foreach (DataRow row in tablaCursos2.Rows)
                    {
                        ListViewItem lvi = new ListViewItem();

                        // asignatura
                        string          queryAs         = "SELECT `asignatura` FROM `asignatura` WHERE `id` = " + row["asignatura"].ToString();
                        MySqlCommand    comandAs        = con2.Comando(queryAs);
                        MySqlDataReader myReaderAs      = comandAs.ExecuteReader();
                        DataTable       tablaAsignatura = new DataTable();
                        tablaAsignatura.Load(myReaderAs);

                        if (tablaAsignatura.Rows[0]["asignatura"].ToString().Equals(comboBoxBusquedaCursos.SelectedItem.ToString()))
                        {
                            // id
                            lvi.Text = row["id"].ToString();

                            // asignatura
                            lvi.SubItems.Add(tablaAsignatura.Rows[0]["asignatura"].ToString());

                            // tipoCurso
                            string          queryTC    = "SELECT `tipoCurso` FROM `precio` WHERE `id` = " + row["tipoCurso"].ToString();
                            MySqlCommand    comandTC   = con2.Comando(queryTC);
                            MySqlDataReader myReaderTC = comandTC.ExecuteReader();
                            DataTable       tablaTC    = new DataTable();
                            tablaTC.Load(myReaderTC);
                            lvi.SubItems.Add(tablaTC.Rows[0]["tipoCurso"].ToString());

                            // precio
                            lvi.SubItems.Add(row["precio"].ToString());

                            // Add to listViewCursos
                            listViewCursos.Items.Add(lvi);
                        }
                    }

                    con2.Cerrar();
                    break;

                case "Tipo de curso":
                    // Carga todos los cursos
                    Conexion con3 = new Conexion();
                    con3.Abrir();
                    string       query3  = "SELECT * FROM `curso`";
                    MySqlCommand comand3 = con3.Comando(query3);

                    MySqlDataReader myReader3 = comand3.ExecuteReader();

                    DataTable tablaCursos3 = new DataTable();
                    tablaCursos3.Load(myReader3);

                    // Carga los datos en listViewCursos
                    foreach (DataRow row in tablaCursos3.Rows)
                    {
                        ListViewItem lvi = new ListViewItem();

                        string          queryTC    = "SELECT `tipoCurso` FROM `precio` WHERE `id` = " + row["tipoCurso"].ToString();
                        MySqlCommand    comandTC   = con3.Comando(queryTC);
                        MySqlDataReader myReaderTC = comandTC.ExecuteReader();
                        DataTable       tablaTC    = new DataTable();
                        tablaTC.Load(myReaderTC);

                        if (tablaTC.Rows[0]["tipoCurso"].ToString().Equals(comboBoxBusquedaCursos.SelectedItem.ToString()))
                        {
                            // id
                            lvi.Text = row["id"].ToString();

                            // asignatura
                            string          queryAs         = "SELECT `asignatura` FROM `asignatura` WHERE `id` = " + row["asignatura"].ToString();
                            MySqlCommand    comandAs        = con3.Comando(queryAs);
                            MySqlDataReader myReaderAs      = comandAs.ExecuteReader();
                            DataTable       tablaAsignatura = new DataTable();
                            tablaAsignatura.Load(myReaderAs);
                            lvi.SubItems.Add(tablaAsignatura.Rows[0]["asignatura"].ToString());

                            // tipoCurso
                            lvi.SubItems.Add(tablaTC.Rows[0]["tipoCurso"].ToString());

                            // precio
                            lvi.SubItems.Add(row["precio"].ToString());

                            // Add to listViewCursos
                            listViewCursos.Items.Add(lvi);
                        }
                    }

                    con3.Cerrar();
                    break;

                case "Profesor":
                    // Carga todos los cursos
                    Conexion con4 = new Conexion();
                    con4.Abrir();
                    string       query4  = "SELECT * FROM `curso`";
                    MySqlCommand comand4 = con4.Comando(query4);

                    MySqlDataReader myReader4 = comand4.ExecuteReader();

                    DataTable tablaCursos4 = new DataTable();
                    tablaCursos4.Load(myReader4);

                    // Carga los datos en listViewCursos
                    foreach (DataRow row in tablaCursos4.Rows)
                    {
                        ListViewItem lvi = new ListViewItem();

                        string          queryPr    = "SELECT `profesor` FROM `asignatura` WHERE `id` = " + row["asignatura"].ToString();
                        MySqlCommand    comandPr   = con4.Comando(queryPr);
                        MySqlDataReader myReaderPr = comandPr.ExecuteReader();
                        DataTable       tablaPr    = new DataTable();
                        tablaPr.Load(myReaderPr);

                        string nombreProfesor = IDtoTEXT.GetProfesorFullNameFromDNIInProfesor(tablaPr.Rows[0]["profesor"].ToString());

                        if (nombreProfesor.Equals(comboBoxBusquedaCursos.SelectedItem.ToString()))
                        {
                            // id
                            lvi.Text = row["id"].ToString();

                            // asignatura
                            string          queryAs         = "SELECT `asignatura` FROM `asignatura` WHERE `id` = " + row["asignatura"].ToString();
                            MySqlCommand    comandAs        = con4.Comando(queryAs);
                            MySqlDataReader myReaderAs      = comandAs.ExecuteReader();
                            DataTable       tablaAsignatura = new DataTable();
                            tablaAsignatura.Load(myReaderAs);
                            lvi.SubItems.Add(tablaAsignatura.Rows[0]["asignatura"].ToString());

                            // tipoCurso
                            string          queryTC    = "SELECT `tipoCurso` FROM `precio` WHERE `id` = " + row["tipoCurso"].ToString();
                            MySqlCommand    comandTC   = con4.Comando(queryTC);
                            MySqlDataReader myReaderTC = comandTC.ExecuteReader();
                            DataTable       tablaTC    = new DataTable();
                            tablaTC.Load(myReaderTC);
                            lvi.SubItems.Add(tablaTC.Rows[0]["tipoCurso"].ToString());

                            // precio
                            lvi.SubItems.Add(row["precio"].ToString());

                            // Add to listViewCursos
                            listViewCursos.Items.Add(lvi);
                        }
                    }

                    con4.Cerrar();
                    break;

                case "Mostrar todos":
                    CargarCursos();
                    break;

                default:

                    break;
                }
            } catch (System.NullReferenceException)
            {
                MessageBox.Show("Debe seleccionar un elemento para realizar una busqueda.", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Example #7
0
        public static void MakeCSV(DateTime[] week, int idAula)
        {
            string filePath  = @"week.csv";
            string delimiter = ";";

            // Get cursos from week selected
            Conexion con = new Conexion();

            con.Abrir();
            string query = "SELECT * FROM `cursoaula` WHERE `IDAula` = " + idAula + " AND `comienzo` >= '" + week[0].ToString("yyyy/MM/dd HH:mm:ss") + "' AND `fin` < '" + week[6].AddDays(1).ToString("yyyy/MM/dd HH:mm:ss") + "'";

            MySqlCommand comand = con.Comando(query);

            MySqlDataReader myReader = comand.ExecuteReader();

            DataTable tablaCursos = new DataTable();

            tablaCursos.Load(myReader);

            con.Cerrar();

            // Array bidimensional
            string[][] output = new string[][] {
                new string[] { "HORAS/DIAS", week[0].ToString("dd/MM/yyyy"), week[1].ToString("dd/MM/yyyy"), week[2].ToString("dd/MM/yyyy"), week[3].ToString("dd/MM/yyyy"), week[4].ToString("dd/MM/yyyy"), week[5].ToString("dd/MM/yyyy"), week[6].ToString("dd/MM/yyyy") },
                new string[] { "08:00:00", "", "", "", "", "", "", "" },
                new string[] { "08:30:00", "", "", "", "", "", "", "" },
                new string[] { "09:00:00", "", "", "", "", "", "", "" },
                new string[] { "09:30:00", "", "", "", "", "", "", "" },
                new string[] { "10:00:00", "", "", "", "", "", "", "" },
                new string[] { "10:30:00", "", "", "", "", "", "", "" },
                new string[] { "11:00:00", "", "", "", "", "", "", "" },
                new string[] { "11:30:00", "", "", "", "", "", "", "" },
                new string[] { "12:00:00", "", "", "", "", "", "", "" },
                new string[] { "12:30:00", "", "", "", "", "", "", "" },
                new string[] { "13:00:00", "", "", "", "", "", "", "" },
                new string[] { "13:30:00", "", "", "", "", "", "", "" },
                new string[] { "14:00:00", "", "", "", "", "", "", "" },
                new string[] { "14:30:00", "", "", "", "", "", "", "" },
                new string[] { "15:00:00", "", "", "", "", "", "", "" },
                new string[] { "15:30:00", "", "", "", "", "", "", "" },
                new string[] { "16:00:00", "", "", "", "", "", "", "" },
                new string[] { "16:30:00", "", "", "", "", "", "", "" },
                new string[] { "17:00:00", "", "", "", "", "", "", "" },
                new string[] { "17:30:00", "", "", "", "", "", "", "" },
                new string[] { "18:00:00", "", "", "", "", "", "", "" },
                new string[] { "18:30:00", "", "", "", "", "", "", "" },
                new string[] { "19:00:00", "", "", "", "", "", "", "" },
                new string[] { "19:30:00", "", "", "", "", "", "", "" },
                new string[] { "20:00:00", "", "", "", "", "", "", "" },
                new string[] { "20:30:00", "", "", "", "", "", "", "" },
                new string[] { "21:00:00", "", "", "", "", "", "", "" },
                new string[] { "21:30:00", "", "", "", "", "", "", "" },
                new string[] { "22:00:00", "", "", "", "", "", "", "" }
            };

            // Introduce datos en el array bidimensional
            foreach (DataRow row in tablaCursos.Rows)
            {
                // Seleccion de columna
                string[] fechaHoraComienzo = row["comienzo"].ToString().Split(' ');
                string[] fechaHoraFin      = row["fin"].ToString().Split(' ');

                int columna = 1;

                for (int i = columna; i < output[0].Length; i++)
                {
                    if (output[0][i].ToString().Equals(fechaHoraComienzo[0]))
                    {
                        columna = i;
                    }
                }

                // Seleccion de hora comienzo y hora fin
                int fila = 1;

                for (int i = fila; i < output.Length; i++)
                {
                    DateTime horaFila          = Convert.ToDateTime(output[i][0].ToString());
                    DateTime horaComienzoCurso = Convert.ToDateTime(fechaHoraComienzo[1]);
                    DateTime horaFinCurso      = Convert.ToDateTime(fechaHoraFin[1]);

                    // Si esta dentro del rango de horas introduce la clase en array bidimensional
                    if (horaComienzoCurso <= horaFila && horaFinCurso >= horaFila)
                    {
                        // Obtiene el idAsignatura de curso, despues obtiene el nombre de la asignatura de asignaturas y lo introduce en el array bidimensional
                        output[i][columna] = row["IDCursoAula"].ToString() + " - " + IDtoTEXT.GetAsignaturaFromIDAsignaturaInAsignatura(IDtoTEXT.GetIDAsignaturaFromAsignaturaInCurso(int.Parse(row["IDCurso"].ToString()))) + " (" + row["IDCurso"].ToString() + ")";
                    }
                }
            }

            int           length = output.GetLength(0);
            StringBuilder sb     = new StringBuilder();

            for (int index = 0; index < length; index++)
            {
                sb.AppendLine(string.Join(delimiter, output[index]));
            }

            File.WriteAllText(filePath, sb.ToString());
        }
Example #8
0
        // Load data
        public void loadData()
        {
            // Carga aulas
            Conexion con = new Conexion();

            con.Abrir();

            string       query  = "SELECT * FROM `curso`";
            MySqlCommand comand = con.Comando(query);

            MySqlDataReader myReader = comand.ExecuteReader();

            DataTable tablaCursos = new DataTable();

            tablaCursos.Load(myReader);

            foreach (DataRow row in tablaCursos.Rows)
            {
                comboBoxCursos.Items.Add(new ComboItem(row["id"].ToString() + " - " + IDtoTEXT.GetAsignaturaFromIDAsignaturaInAsignatura(int.Parse(row["asignatura"].ToString())), int.Parse(row["id"].ToString())));
            }

            query = "SELECT * FROM `aula`";
            MySqlCommand comandA = con.Comando(query);

            MySqlDataReader myReaderA = comandA.ExecuteReader();

            DataTable tablaAulas = new DataTable();

            tablaAulas.Load(myReaderA);

            foreach (DataRow row in tablaAulas.Rows)
            {
                comboBoxAulas.Items.Add(new ComboItem(row["nombre"].ToString(), int.Parse(row["id"].ToString())));
            }
        }
Example #9
0
        // Calcular mensualidad de profesor
        public static double calcularMensualidadProfesor(List <int> allCourses)
        {
            double precioMensual = 0.0;

            Conexion con = new Conexion();

            con.Abrir();

            // Recorre todos los cursos del profesor
            foreach (int idCurso in allCourses)
            {
                double horasTotal = 0.0;

                // Almacena la cantidad de alumnos apuntados al curso
                int alumnosApuntados = 0;

                // Primero selecciona todos los alumnos apuntados a dicho curso
                string       query  = "select * from `cursoalumno` WHERE `IDCurso` = " + idCurso;
                MySqlCommand comand = con.Comando(query);

                MySqlDataReader myReader = comand.ExecuteReader();

                DataTable tablaCantidadAlumnos = new DataTable();
                tablaCantidadAlumnos.Load(myReader);
                myReader.Close();

                // Calcula la cantidad de alumnos apuntados
                alumnosApuntados = tablaCantidadAlumnos.Rows.Count;

                // Carga todos los horarios de el curso recorrido
                string       queryHorario  = "select * from `cursoaula` WHERE `IDCurso` = " + idCurso;
                MySqlCommand comandHorario = con.Comando(queryHorario);

                MySqlDataReader myReaderHorario = comandHorario.ExecuteReader();

                DataTable cursoAula = new DataTable();
                cursoAula.Load(myReaderHorario);
                myReader.Close();

                foreach (DataRow row in cursoAula.Rows)
                {
                    DateTime comienzo = Convert.ToDateTime(row["comienzo"].ToString());
                    DateTime fin      = Convert.ToDateTime(row["fin"].ToString());

                    // Si el horario pertenece al mes actual entonces lo aniade
                    if (comienzo.Month == DateTime.Today.Month)
                    {
                        TimeSpan result = fin.Subtract(comienzo);

                        horasTotal += result.TotalHours;
                    }
                }

                // Obtiene tipo precio del curso especificado y lo multiplica por las horas totales
                string       queryPrecio  = "select `tipoCurso` from `curso` WHERE ID = " + idCurso;
                MySqlCommand comandPrecio = con.Comando(queryPrecio);

                MySqlDataReader myReaderPrecio = comandPrecio.ExecuteReader();

                DataTable precio = new DataTable();
                precio.Load(myReaderPrecio);
                myReaderPrecio.Close();

                double precioHora = IDtoTEXT.GetPrecioFromIDInPrecio(int.Parse(precio.Rows[0]["tipoCurso"].ToString()));

                // precioMensual = horasTotal * precio/hora
                precioMensual += (horasTotal * precioHora * alumnosApuntados);
            }

            // Multiplica por gananciaProfesores
            precioMensual = precioMensual * (double.Parse(Utils.cargarGananciaProfesores()) / 100);

            return(precioMensual);
        }
Example #10
0
        // *** Actualiza cobro al profesor del curso especificado ***
        public static void ActualizaPagosProfesores(int idCurso)
        {
            // Get profesor DNI from idAsignatura
            string dni = IDtoTEXT.GetProfesorDNIFromIDInAsignatura(IDtoTEXT.GetIDAsignaturaFromAsignaturaInCurso(idCurso));

            // Get all courses of this profesor
            List <int> allCourses = IDtoTEXT.GetAllCoursesFromDNIProfesor(dni);

            // Calcula mensualidad del profesor
            double precioMensual = calcularMensualidadProfesor(allCourses);

            // Actualiza las ganancias del profesor
            Conexion con = new Conexion();

            con.Abrir();

            string       query  = "select `pagos` from `profesor` WHERE `DNI` = '" + dni + "';";
            MySqlCommand comand = con.Comando(query);

            MySqlDataReader myReader = comand.ExecuteReader();

            DataTable tablaPagos = new DataTable();

            tablaPagos.Load(myReader);
            myReader.Close();

            if (tablaPagos.Rows.Count != 0)
            {
                string[] arrayPagos = tablaPagos.Rows[0]["pagos"].ToString().Split('*');

                List <string> pagos               = arrayPagos.ToList <string>();
                bool          pagoEncontrado      = false;
                string        pagoEncontradoTexto = "";

                foreach (string pago in pagos)
                {
                    string mes = pago.Split('-')[0];

                    if (mes.Equals(GetMonthName(DateTime.Today.Month)))
                    {
                        pagoEncontrado      = true;
                        pagoEncontradoTexto = pago;
                    }
                }

                if (pagoEncontrado)
                {
                    pagos.Remove(pagoEncontradoTexto);
                }

                // Aniade la ganancia del mes actual
                pagos.Add(GetMonthName(DateTime.Today.Month) + "-" + precioMensual);

                string fullPagos = "";

                foreach (string pago in pagos)
                {
                    if (!pago.Equals(""))
                    {
                        fullPagos += pago + "*";
                    }
                }

                string       queryUpdatePago  = "UPDATE `profesor` SET `pagos` = '" + fullPagos + "' WHERE `profesor`.`DNI` = '" + dni + "';";
                MySqlCommand comandUpdatePago = con.Comando(queryUpdatePago);

                MySqlDataReader myReaderUpdatePago = comandUpdatePago.ExecuteReader();

                con.Cerrar();
            }
        }
Example #11
0
        // *** Actualiza precio a pagar de los alumnos del curso especificado ***
        public static void ActualizaPagosPendientesAlumnos(int idCurso)
        {
            List <string> cursosAlumno = new List <string>();

            Conexion con = new Conexion();

            con.Abrir();

            // Primero selecciona todos los alumnos apuntados a dicho curso
            string       query  = "select * from `cursoalumno` WHERE `IDCurso` = " + idCurso;
            MySqlCommand comand = con.Comando(query);

            MySqlDataReader myReader = comand.ExecuteReader();

            DataTable cursoAlumno = new DataTable();

            cursoAlumno.Load(myReader);
            myReader.Close();

            foreach (DataRow row in cursoAlumno.Rows)
            {
                // Comprueba si el curso recorrido ya esta pagado por ese alumno
                if (!Utils.CheckCursoPagado(idCurso, row["DNIAlumno"].ToString()))
                {
                    // Selecciona todos los datos de uno de los alumnos apuntados al curso
                    string       queryAlumno  = "select * from `alumno` WHERE `DNI` = '" + row["DNIAlumno"].ToString() + "';";
                    MySqlCommand comandAlumno = con.Comando(queryAlumno);

                    MySqlDataReader myReaderAlumno = comandAlumno.ExecuteReader();

                    DataTable alumno = new DataTable();
                    alumno.Load(myReaderAlumno);
                    myReaderAlumno.Close();

                    // Si el alumno existe y tiene pagosPendientes crea una lista con dichos pagos
                    if (alumno.Rows.Count != 0)
                    {
                        if (!alumno.Rows[0]["pagosPendientes"].ToString().Equals(""))
                        {
                            // Generar lista de pagos pendientes de alumno recorrido
                            cursosAlumno = GenerarCursosAlumno(alumno.Rows[0]["pagosPendientes"].ToString());
                        }
                        else
                        {
                            cursosAlumno = new List <string>();
                        }
                    }
                    // Si no crea una lista vacia
                    else
                    {
                        cursosAlumno = new List <string>();
                    }

                    // Close MySqlDataReaders
                    myReader.Close();
                    myReaderAlumno.Close();

                    // Actualizar el curso actual en la lista generada anteriormente
                    // Si el alumno tiene pagosPendientes...
                    if (cursosAlumno.Count != 0)
                    {
                        string fullDatos = "";

                        // Recorre los pagosPendientes del alumno, comprueba si el curso ya se encuentra entre ellos:
                        // Si lo encuentra lo elimina y despues lo aniade
                        // SI no lo encuentra lo aniade
                        foreach (string curso in cursosAlumno)
                        {
                            if (curso.Split('-')[0].ToString().Equals(idCurso.ToString()))
                            {
                                cursosAlumno.Remove(curso);
                                break;
                            }
                        }

                        fullDatos = idCurso + "-" + IDtoTEXT.GetAsignaturaFromIDAsignaturaInAsignatura(IDtoTEXT.GetIDAsignaturaFromAsignaturaInCurso(idCurso)) + "-" + IDtoTEXT.GetPrecioFromIDInCurso(idCurso);
                        cursosAlumno.Add(fullDatos);

                        fullDatos = "";
                        foreach (string curso in cursosAlumno)
                        {
                            // Si el precio del curso no es 0...
                            if (!curso.Split('-')[2].Equals("0"))
                            {
                                fullDatos = fullDatos + curso + "*";
                            }
                        }

                        string       queryMultiple  = "UPDATE `alumno` SET `pagosPendientes` = '" + fullDatos + "' WHERE `alumno`.`DNI` = '" + row["DNIAlumno"] + "';";
                        MySqlCommand comandMultiple = con.Comando(queryMultiple);

                        MySqlDataReader myReaderMultiple = comandMultiple.ExecuteReader();
                        myReaderMultiple.Close();
                    }
                    // si el alumno no tiene pagos pendientes...
                    else
                    {
                        string fullDatos = "";
                        fullDatos = idCurso + "-" + IDtoTEXT.GetAsignaturaFromIDAsignaturaInAsignatura(IDtoTEXT.GetIDAsignaturaFromAsignaturaInCurso(idCurso)) + "-" + IDtoTEXT.GetPrecioFromIDInCurso(idCurso) + "*";

                        string       queryUnico  = "UPDATE `alumno` SET `pagosPendientes` = '" + fullDatos + "' WHERE `alumno`.`DNI` = '" + row["DNIAlumno"] + "';";
                        MySqlCommand comandUnico = con.Comando(queryUnico);

                        MySqlDataReader myReaderUnico = comandUnico.ExecuteReader();
                        myReaderUnico.Close();
                    }
                }
            }

            con.Cerrar();
        }
Example #12
0
        // *** Calcula precio total de un curso y lo actualiza ***
        public static void CalcularPrecioCurso(int idCurso)
        {
            double precioTotal = 0.0;
            double horasTotal  = 0.0;

            Conexion con = new Conexion();

            con.Abrir();

            string       query  = "select * from `cursoaula`";
            MySqlCommand comand = con.Comando(query);

            MySqlDataReader myReader = comand.ExecuteReader();

            DataTable cursoAula = new DataTable();

            cursoAula.Load(myReader);
            myReader.Close();

            foreach (DataRow row in cursoAula.Rows)
            {
                // Si es el curso especificado calcula las horas totales
                if (idCurso == int.Parse(row["IDCurso"].ToString()))
                {
                    DateTime comienzo = Convert.ToDateTime(row["comienzo"].ToString());
                    DateTime fin      = Convert.ToDateTime(row["fin"].ToString());

                    TimeSpan result = fin.Subtract(comienzo);

                    horasTotal += result.TotalHours;
                }
            }

            // Obtiene tipo precio del curso especificado y lo multiplica por las horas totales
            string       queryPrecio  = "select `tipoCurso` from `curso` WHERE ID = " + idCurso;
            MySqlCommand comandPrecio = con.Comando(queryPrecio);

            MySqlDataReader myReaderPrecio = comandPrecio.ExecuteReader();

            DataTable precio = new DataTable();

            precio.Load(myReaderPrecio);
            myReaderPrecio.Close();

            double precioHora = IDtoTEXT.GetPrecioFromIDInPrecio(int.Parse(precio.Rows[0]["tipoCurso"].ToString()));

            // precioTotal = horasTotal * precio/hora
            precioTotal = horasTotal * precioHora;

            // Actualiza el precio en el curso
            string       queryUpdatePrecio  = "UPDATE `curso` SET `precio` = '" + precioTotal.ToString().Replace(',', '.') + "' WHERE `curso`.`ID` = " + idCurso + ";";
            MySqlCommand comandUpdatePrecio = con.Comando(queryUpdatePrecio);

            MySqlDataReader myReaderUpdatePrecio = comandUpdatePrecio.ExecuteReader();

            myReaderUpdatePrecio.Close();

            con.Cerrar();

            // Actualiza todos los alumnos apuntados al curso
            ActualizaPagosPendientesAlumnos(idCurso);

            // Actualiza el cobro mensual del profesor que imparte el curso especificado
            ActualizaPagosProfesores(idCurso);
        }