// 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); }
// *** 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(); } }