コード例 #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
        // *** 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();
            }
        }