コード例 #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);
        }
コード例 #2
0
ファイル: ToolsCSV.cs プロジェクト: moisesdlfc/Appcademy
        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());
        }
コード例 #3
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();
        }
コード例 #4
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();
            }
        }
コード例 #5
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);
                }
            }
        }