private void Arbol_VistaEstudiantes_AfterSelect_1(object sender, TreeViewEventArgs e) { try { string clave = e.Node.Text; string[] Clave = clave.Split(' '); int Id = Convert.ToInt32(Clave[1]); SelectionRange rangoFecha = monthCalendar1.SelectionRange; if (chart1.Series.Count == 0) { EstudianteMaestria.GraficarEstEn(EstudiantesMaestria[Id], EstudianteMaestria.Lista_Valid, chart1, rangoFecha); FijarTitulo(clave); } else { BorrarGrafico(); BorrarTitulos(); inicarGrafico(0); EstudianteMaestria.GraficarEstEn(EstudiantesMaestria[Id], EstudianteMaestria.Lista_Valid, chart1, rangoFecha); FijarTitulo(clave); } } catch (Exception ex) { ; } }
public static void GraficarTodosEn(Dictionary <int, EstudianteMaestria> Estudiantes, int TipoLista, Chart Destino) { int i = 1; Destino.ChartAreas[0].AxisX.Minimum = 0; // Destino.ChartAreas[0].AxisY.MajorGrid.Enabled = false; Destino.ChartAreas[0].AxisX.MajorGrid.Enabled = false; Destino.ChartAreas[0].AxisX.Interval = 1; foreach (EstudianteMaestria est in Estudiantes.Values) { string s = est.Est_Nombre; Destino.Series.Add(s); Destino.Series[s].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Column; int Intervalo = 0; List <Asistencia> Lgen = EstudianteMaestria.SeleccionarLista(est, TipoLista); foreach (Asistencia a in Lgen) { Intervalo += a.IntervaloTiempo; } Destino.Series[s].CustomProperties = "LabelStyle=Top"; Destino.Series[s].IsValueShownAsLabel = true; Destino.Series[s].LabelForeColor = Color.Green; Destino.Series[s].Font = new Font(Destino.Series[s].Font, FontStyle.Bold); Destino.Series[s].Points.AddXY(i, Intervalo); Destino.ChartAreas[0].AxisX.CustomLabels.Add(i, i + 0.1, est.Est_Id.ToString()); i++; } }
// guardar todos los reportes private void todosToolStripMenuItem_Click(object sender, EventArgs e) { string rutaGeneral = Herramientas.ConseguirUltimoDirectr() + this.Herramientas.DirSaveSuper; if (!Directory.Exists(rutaGeneral)) { Directory.CreateDirectory(rutaGeneral); } foreach (EstudianteMaestria est in this.EstudiantesMaestria.Values) { this.BorrarGrafico(); this.inicarGrafico(0); FijarTitulo("[ " + est.Est_Id.ToString() + " ]" + est.Est_Nombre); EstudianteMaestria.GraficarEstEn(est, EstudianteMaestria.Lista_Valid, chart1, monthCalendar1.SelectionRange); MemoryStream imagenGuardada = new MemoryStream(); chart1.SaveImage(imagenGuardada, ChartImageFormat.Jpeg); Image mn = Image.FromStream(imagenGuardada); this.Refresh(); Thread.Sleep(100); Herramientas.GuardarPDFActualEn(mn, rutaGeneral, est); } Herramientas.MensajeInfor(Herramientas.SaveAllOkStat); }
public static void ProcesarFechas(Dictionary <int, EstudianteMaestria> Estudiantes, int TipoLista) { foreach (EstudianteMaestria est in Estudiantes.Values) { string s = est.Est_Nombre; List <Asistencia> Lgen = EstudianteMaestria.SeleccionarLista(est, TipoLista); foreach (Asistencia a in Lgen) { int Intervalo = 0; string[] FechaEntrada = a.Asistencia_FechaEntrada.Split('/'); string[] FechaSalida = a.Asistencia_FechaSalida.Split('/'); string[] HoraEntrada = a.Asistencia_HoraEntrada.Split(':'); string[] HoraSalida = a.Asistencia_HoraSalida.Split(':'); DateTime Fentrada = new DateTime(Convert.ToInt32(FechaEntrada[2]), Convert.ToInt32(FechaEntrada[1]), Convert.ToInt32(FechaEntrada[0]), Convert.ToInt32(HoraEntrada[0]), Convert.ToInt32(HoraEntrada[1]), 00); DateTime FSalida = new DateTime(Convert.ToInt32(FechaSalida[2]), Convert.ToInt32(FechaSalida[1]), Convert.ToInt32(FechaSalida[0]), Convert.ToInt32(HoraSalida[0]), Convert.ToInt32(HoraSalida[1]), 00); TimeSpan DeltaTiempo = FSalida - Fentrada; Intervalo = DeltaTiempo.Hours; a.FEntrada = Fentrada; a.FSalida = FSalida; a.DeltaTiempo = DeltaTiempo; a.IntervaloTiempo = Intervalo; } } }
public void CargarDatos(string ruta) { EstudiantesMaestria = EstudianteMaestria.ProcesarClaves(ruta); EstudianteMaestria.ProcesarRegistros(ruta, EstudiantesMaestria); EstudianteMaestria.AgruparFechas(EstudiantesMaestria); EstudianteMaestria.ValidadAsistencia(EstudiantesMaestria); EstudianteMaestria.ProcesarFechas(EstudiantesMaestria, EstudianteMaestria.Lista_Valid); EstudianteMaestria.GraficarTodosEn(EstudiantesMaestria, EstudianteMaestria.Lista_Valid, chart1); }
public static List <Asistencia> SeleccionarLista(EstudianteMaestria est, int TipoLista) { switch (TipoLista) { case 1: return(est.Asst_Total); case 2: return(est.Asst_Agrupada); case 3: return(est.Asst_Valida); default: return(null); } }
public static void GraficarEstEn(EstudianteMaestria Estudiente, int TipoLista, Chart Destino) { string s = Estudiente.Est_Nombre; Destino.Series.Add(s); Destino.Series[s].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Column; List <Asistencia> Lgen = EstudianteMaestria.SeleccionarLista(Estudiente, TipoLista); foreach (Asistencia a in Lgen) { Destino.Series[s].Points.AddY(a.IntervaloTiempo); Destino.Series[s].AxisLabel = a.Asistencia_FechaSalida; } }
public static void GraficarTodosEn(Dictionary <int, EstudianteMaestria> Estudiantes, int TipoLista, Chart Destino) { foreach (EstudianteMaestria est in Estudiantes.Values) { string s = est.Est_Nombre; Destino.Series.Add(s); Destino.Series[s].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Column; int Intervalo = 0; List <Asistencia> Lgen = EstudianteMaestria.SeleccionarLista(est, TipoLista); foreach (Asistencia a in Lgen) { Intervalo += a.IntervaloTiempo; } Destino.Series[s].Points.AddY(Intervalo); } }
// guardar las imagenes de grafico de todos los estudiantes private void Opt_Todos_Click(object sender, EventArgs e) { string rutaGeneral = Herramientas.ConseguirUltimoDirectr() + this.Herramientas.DirSaveSuper; if (!Directory.Exists(rutaGeneral)) { Directory.CreateDirectory(rutaGeneral); } foreach (EstudianteMaestria est in this.EstudiantesMaestria.Values) { this.BorrarGrafico(); this.inicarGrafico(0); FijarTitulo("[ " + est.Est_Id.ToString() + " ]" + est.Est_Nombre); EstudianteMaestria.GraficarEstEn(est, EstudianteMaestria.Lista_Valid, chart1, monthCalendar1.SelectionRange); this.Refresh(); Thread.Sleep(100); Herramientas.SalvarEn(rutaGeneral + est.Est_Nombre + ".png", chart1); } Herramientas.MensajeInfor(Herramientas.SaveAllOkStat); }
public static void GraficarEstEn(EstudianteMaestria Estudiente, int TipoLista, Chart Destino, SelectionRange FechasSeleccionadas) { string s = Estudiente.Est_Nombre; Destino.Series.Add(s); Destino.Series[s].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Column; List <Asistencia> Lgen = EstudianteMaestria.SeleccionarLista(Estudiente, TipoLista); double i = .5; foreach (Asistencia a in Lgen) { int inicio = DateTime.Compare(a.FEntrada, FechasSeleccionadas.Start); int final = DateTime.Compare(a.FSalida, FechasSeleccionadas.End); if (inicio >= 0 && final < 0) { Destino.Series[s].Points.AddY(a.IntervaloTiempo); Destino.ChartAreas[0].AxisX.CustomLabels.Add(i, i + 1, a.Asistencia_FechaSalida.ToString()); i++; } } }
private void Arbol_VistaEstudiantes_AfterSelect(object sender, TreeViewEventArgs e) { try { string clave = e.Node.Text; string[] Clave = clave.Split(' '); int Id = Convert.ToInt32(Clave[1]); if (chart1.Series.Count == 0) { EstudianteMaestria.GraficarEstEn(EstudiantesMaestria[Id], EstudianteMaestria.Lista_Valid, chart1); } else { chart1.Series.Clear(); EstudianteMaestria.GraficarEstEn(EstudiantesMaestria[Id], EstudianteMaestria.Lista_Valid, chart1); } } catch (Exception ex) { ; } }
// crear un hash para almacenar los estudiantes y sus asistencias public static Dictionary <int, EstudianteMaestria> ProcesarClaves(string Ent_RutaArchivo) { // instanciar objetos Dictionary <int, EstudianteMaestria> DictEstudiantes = new Dictionary <int, EstudianteMaestria>(); // conseguir registros StreamReader Lector = new StreamReader(Ent_RutaArchivo); Lector.ReadLine(); Lector.ReadLine(); char tab = (char)Tabulador; while (!Lector.EndOfStream) { string Linea = Lector.ReadLine(); if (Linea != "" && Linea != " " && Linea != "\t\t\t") { string[] LineaSegmentada = Linea.Split(tab); int claveTemporal = Convert.ToInt32(LineaSegmentada[IndxId]); string nombreEstdnt = LineaSegmentada[IndxNmb]; string si = Lector.ReadLine(); // verificar si existe la clave en el hash if (!DictEstudiantes.ContainsKey(claveTemporal)) { // crear un nuevo estudiante de maestria EstudianteMaestria est = new EstudianteMaestria(nombreEstdnt, claveTemporal); DictEstudiantes.Add(claveTemporal, est); } } } // cerrar el escritor Lector.Close(); return(DictEstudiantes); }
public void GraficarAsistenciaAlumno(EstudianteMaestria est) { }
// guardar pdf con informacion del estudiente y su grafico en la misma ruta de las imagenes public void GuardarPDFActualEn(System.Drawing.Image imgGuardada, string rutaSalida, EstudianteMaestria EstEntrada) { // conseguir informacion string TituloDocumentoPdf; string RutaDocumentoPdf = rutaSalida + EstEntrada.Est_Nombre + ".pdf"; DateTime fechaCreacion = DateTime.Today; Image imgPdf = Image.GetInstance(imgGuardada, null, false); // crear un archivo pdf de tamanio carta y una escritor de pdf Document PdfSalida = new Document(PageSize.LETTER.Rotate()); PdfWriter PdfEscrtr = PdfWriter.GetInstance(PdfSalida, new FileStream(RutaDocumentoPdf, FileMode.Create)); // abrir documento para comenzar a agregar datos PdfSalida.Open(); // agregar informacion al documento AgregarParrafo("Fecha de creacion del documento : " + fechaCreacion.ToString(), PdfSalida); AgregarImagen(imgPdf, PdfSalida); PdfSalida.Close(); PdfEscrtr.Close(); }