public override string ToString() { string cad = " | "; foreach (Clase c in Clases) { string clase = "" + c.Dia.Substring(0, 2) + " " + Clase.formatHora(c.HoraInicio) + "-" + Clase.formatHora(c.HoraFin) + " , "; cad += clase; } cad = "G: " + Id + " - " + CultureInfo.CurrentCulture.TextInfo.ToTitleCase(NombreCortoProfesor.ToLower()) + " " + cad.Substring(0, cad.Length - 2) + " |"; return(cad); }
public String Titulo() { String cad = " \"profesor\":\""+ NombreProfesor + "\",\n \"clases\":\n [\n"; for (int i = 0; i < Clases.Count; i++) { Clase c = Clases[i]; cad += " {\"dia\":\""+ c.Dia + "\", \"horaInicio\":\"" + c.HoraInicio + "\", \"horaFin\":\"" + c.HoraFin + "\"" + ", \"salon\":\"" + c.Salon + "\"}"; if (i != Clases.Count - 1) { cad += ",\n"; } } return(cad + "\n ]"); }
private int filtrarHoraDia(List <Horario> horarios) { int cantidadFiltrados = 0; foreach (string s in FiltrosHoraDia) { string[] data = s.Split(' '); string dia = data[0]; string inicio = data[2]; string fin = data[4]; int intDay = (dia != "Semana") ? Clase.GetDiaFullStringToInt(dia) : -1; int ini = Convert.ToInt32(inicio.Replace(":", "")); int fini = Convert.ToInt32(fin.Replace(":", "")); for (int i = horarios.Count - 1; i >= 0; i--) { Horario h = horarios[i]; bool breaks = false; if (intDay == -1 || h.DiasOcupados[intDay] != 0) { foreach (Grupo g in h) { foreach (Clase c in g.Clases) { if ((c.NumeroDia == intDay || intDay == -1) && Clase.cruzanHoras(ini, fini, c.HoraInicio, c.HoraFin)) { horarios.RemoveAt(i); breaks = true; break; } } if (breaks) { break; } } } } } return(cantidadFiltrados); }
private static void pintarHorario(object[,] horariosArray, Horario horario, int rCnt, Dictionary <string, Color> colores, int counter) { string[] dias = new string[] { "Lunes", "Martes", "Miercoles", "Jueves", "Viernes!", "Sabado", "Domingo", "", "Horario# " + counter, "Codigo: " + horario.Id }; for (int i = 0; i < dias.Length; i++) { horariosArray[rCnt, i + 1] = dias[i]; } rCnt++; horario.Sort((a, b) => a.Materia.Nombre.CompareTo(b.Materia.Nombre)); for (int i = 0; i < horario.Count(); i++) { Grupo grupo = horario[i]; Materia materia = grupo.Materia; List <Clase> clases = grupo.Clases; for (int j = 0; j < clases.Count(); j++) { Clase clase = clases[j]; int dia = clase.NumeroDia + 1; horariosArray[rCnt, dia] = FileManager.reporteClase(grupo, clase); } rCnt++; } }
public static string reporteClase(Grupo g, Clase c) { return "Gr-" + g.Id + Environment.NewLine + g.Materia.Nombre.Trim() + Environment.NewLine + "Prof: " + g.NombreCortoProfesor + Environment.NewLine + c.HoraInicio + "-" + c.HoraFin; }
public void Add(Clase c) { Clases.Add(c); }
public override String ToString() { String inicioHorario = ""; String lunes = " {\"dia\":\"Lunes\",\"materias\":["; String martes = " {\"dia\":\"Martes\",\"materias\":["; String miercoles = " {\"dia\":\"Miercoles\",\"materias\":["; String jueves = " {\"dia\":\"Jueves\",\"materias\":["; String viernes = " {\"dia\":\"Viernes!\",\"materias\":["; String sabado = " {\"dia\":\"Sabado\",\"materias\":["; int[] contiene = new int[7]; for (int i = 0; i < this.Count(); i++) { Grupo grupo = this[i]; Materia materia = grupo.Materia; List <Clase> clases = grupo.Clases; for (int j = 0; j < clases.Count(); j++) { Clase clase = clases[j]; int dia = clase.NumeroDia; contiene[dia] = 1; String format = "{\"grupo\":" + "\"" + grupo.Id + "\",\"materia\":" + "\"" + materia + "\",\"horaInicio\":" + clase.HoraInicio + ",\"horaFin\":" + clase.HoraFin + "},"; if (dia == Clase.LUNES) { lunes += format; } if (dia == Clase.MARTES) { martes += format; } if (dia == Clase.MIERCOLES) { miercoles += format; } if (dia == Clase.JUEVES) { jueves += format; } if (dia == Clase.VIERNES) { viernes += format; } if (dia == Clase.SABADO) { sabado += format; } } } if (contiene[Clase.LUNES] == 1) { lunes = lunes.Substring(0, lunes.Length - 1); } if (contiene[Clase.MARTES] == 1) { martes = martes.Substring(0, martes.Length - 1); } if (contiene[Clase.MIERCOLES] == 1) { miercoles = miercoles.Substring(0, miercoles.Length - 1); } if (contiene[Clase.JUEVES] == 1) { jueves = jueves.Substring(0, jueves.Length - 1); } if (contiene[Clase.VIERNES] == 1) { viernes = viernes.Substring(0, viernes.Length - 1); } if (contiene[Clase.SABADO] == 1) { sabado = sabado.Substring(0, sabado.Length - 1); } String f2 = "]},\n"; // Cierre de: {"dia":"Sabado", "materias":[]} inicioHorario += "\n{\n\"estado\": true,\n\"dias\":\n [\n" + lunes + f2 + martes + f2 + miercoles + f2 + jueves + f2 + viernes + f2 + sabado + "]}\n ]\n}"; return(inicioHorario); }
public void Add(Clase c) { Clases.Add(c); }
public bool cruzaClase(Clase c) { return (c.Dia == Dia) ? cruzanHoras(HoraInicio, HoraFin, c.HoraInicio, c.HoraFin) : false; }
public bool cruzaClase(Clase c) { return((c.Dia == Dia) ? cruzanHoras(HoraInicio, HoraFin, c.HoraInicio, c.HoraFin) : false); }
public static void leerArchivo(Excel.Worksheet hoja, Carrera carrera, int semestre) { Excel.Range range = hoja.UsedRange; int totalFilas = range.Rows.Count; var startCell = (Range)hoja.Cells[1, 1]; var endCell = (Range)hoja.Cells[totalFilas, 4]; var toGetRange = hoja.Range[startCell, endCell]; object[,] data = toGetRange.Value2; int filaActual = 1; while (filaActual <= totalFilas) { if (data[filaActual, 1] != null) { string nombre = (string)data[filaActual, 1]; int creditos = 0; string strCod = (string)data[filaActual, 3]; if ((nombre != null) && (strCod != null)) { int codigo = Convert.ToInt32(strCod); Materia m = new Materia(nombre, creditos, codigo); int grupoActual = 0; Grupo g = null; do { string cadena = (string)data[filaActual, 2]; if (cadena != null) { string[] cadenas = cadena.Split(' '); int numGrupo = Convert.ToInt32(cadenas[0]); if (grupoActual != numGrupo) { grupoActual = numGrupo; string nombreProfesor = ""; for (int j = 1; j < cadenas.Length; j++) { nombreProfesor += cadenas[j] + " "; } nombreProfesor = nombreProfesor.TrimEnd(); g = new Grupo(nombreProfesor, m, grupoActual); m.Add(g); } do { string[] clase = ((string)data[filaActual, 4]).Split(' '); string salon = clase[3]; int horaInicioInt = Convert.ToInt32(clase[1].Replace(":", "")); int horaFinInt = Convert.ToInt32(clase[2].Replace(":", "")); bool contiene = false; for (int i = 0; i < g.Clases.Count && !contiene; i++) { Clase ca = g.Clases[i]; contiene = (ca.HoraInicio == horaInicioInt && ca.HoraFin == horaFinInt && ca.NumeroDia == Clase.GetDiaSubStringToInt(clase[0])); } if (!contiene) { g.Add(new Clase(Clase.GetDiaSubStringToInt(clase[0]), horaInicioInt, horaFinInt, salon)); } filaActual++; } while (filaActual <= totalFilas && (data[filaActual, 2] == null || ((string)data[filaActual, 2]) == "") && data[filaActual, 4] != null); filaActual--; } filaActual++; } while (filaActual <= totalFilas && data[filaActual, 1] == null && data[filaActual, 4] != null); filaActual--; carrera.Semestres[semestre - 1].Materias.Add(m); } } filaActual++; } }
public static string reporteClase(Grupo g, Clase c) { return("Gr-" + g.Id + Environment.NewLine + g.Materia.Nombre.Trim() + Environment.NewLine + "Prof: " + g.NombreCortoProfesor + Environment.NewLine + c.HoraInicio + "-" + c.HoraFin); }