Ejemplo n.º 1
0
        /// <summary>/// Usado para recibir de FormAgregarAlumno la información del alumno agregado</summary>
        public void recibirAlumno(Alumno nuevo)
        {
            lblInfoAlumnos.Dispose();
            lblArrowAlumno.Dispose();
            //agregar alumno al array
            alumnosGrupo.Add(nuevo);

            //hacer el label
            Label nombre = PersonalizacionComponentes.hacerLabelAlumno(nuevo);

            //agregar el menú contextual
            MenuItem[] menu =
            {
                new MenuItem("Editar", editarAlumno_Click),
                new MenuItem("Borrar", borrarAlumno_Click)
            };
            menu[0].Name = nuevo.getId() + "";
            menu[1].Name = nuevo.getId() + "";

            nombre.ContextMenu = new ContextMenu(menu);

            flPanelAlumnos.Controls.Add(nombre);

            //Para evitar que desacomode los días nuevos para este nuevo alumno
            System.Collections.IEnumerator fechas = flPanelFechas.Controls.GetEnumerator();
            List <DiaClase> daysNewAlum           = new List <DiaClase>();

            while (fechas.MoveNext())
            {
                string[] actualDay = ((tiltLabel)fechas.Current).Text.Split('/');

                daysNewAlum.Add(new DiaClase(new DateTime(Convert.ToInt32(actualDay[2]), Convert.ToInt32(actualDay[1]), Convert.ToInt32(actualDay[0])), nuevo.getId()));
            }

            //Asistencias
            //DiaClase[] diasClase = dbConection.getDiasClase(idGrupo);
            FlowLayoutPanel asistencias = PersonalizacionComponentes.hacerPanelAsistencias(nuevo.getId(), daysNewAlum.ToArray());

            asistencias.Name = nuevo.getId().ToString();

            //Quitar el label de control si es que está
            quitarLabelControl();

            flPanelAsistencias.Controls.Add(asistencias);

            Console.WriteLine(flPanelFechas.Controls.Count + " dias ");
            if (flPanelFechas.Controls.Count <= 10)
            {
                agregarLabelControl();
            }
        }
Ejemplo n.º 2
0
        /// <summary> llena la lista de asistencias </summary>
        private void cargarAsistencias()
        {
            DiaClase[] diasClase = dbConection.getDiasClase(idGrupo, mostrandoTodosDias);

            if (diasClase.Length != 0)
            {
                flPanelAsistencias.Controls.Clear();
                flPanelFechas.Controls.Clear();
                lblArrowDia.Dispose();
                foreach (DiaClase diaClase in diasClase)
                {
                    tiltLabel labelFecha = new tiltLabel(diaClase);

                    MenuItem[] menu =
                    {
                        new MenuItem("Borrar", borrarFecha_Click)
                    };
                    menu[0].Name = diaClase.dia.ToString("dd'/'MM'/'yy");

                    labelFecha.ContextMenu = new ContextMenu(menu);
                    flPanelFechas.Controls.Add(labelFecha);
                }

                foreach (Alumno alumno in alumnosGrupo)
                {
                    FlowLayoutPanel asistencias = PersonalizacionComponentes.hacerPanelAsistencias(alumno.getId(), diasClase);
                    asistencias.Name = alumno.getId().ToString();
                    flPanelAsistencias.Controls.Add(asistencias);
                }

                /*Cuando el número de días no es diez no aparece la barra ed scroll horizontal por lo que hay que hacer la validación y
                 * en este caso agregar un label con el tamaño de un scroll y que no desalinea los nombres con los días de asistencia */
                if (diasClase.Length <= 10)
                {
                    agregarLabelControl();
                }
            }

            //Evento de Scroll con el scroll del mouse
            flPanelAsistencias.MouseWheel += flPanelAsistencias_MouseScroll;
            flPanelFechas.MouseWheel      += FlPanelFechas_MouseWheel;
        }