Ejemplo n.º 1
0
        //Transforma los alumnos del curso en alumnos de esta instancia especifica.
        private void TransformarAlumnosCurso(Curso c)
        {
            List<AlumnoTemplate> listAlumnosTemporales = new List<AlumnoTemplate>();

            foreach (Alumno al in c.Alumnos)
            {
                AlumnoTemplate alch = new AlumnoTemplate(al);
                listAlumnosTemporales.Add(alch);
            }

            c.Alumnos.Clear();

            foreach (AlumnoTemplate ac in listAlumnosTemporales)
            {
                c.Alumnos.Add(ac);
            }
        }
Ejemplo n.º 2
0
        public void GuardarCurso(Curso c, List<Alumno> alumnos)
        {
            XmlWriterSettings xws = new XmlWriterSettings();
            xws.Indent = true;
            xws.Encoding = Encoding.UTF8;
            
            XmlWriter writer = XmlWriter.Create(xmlpath, xws);

            c.PathArchivoCurso = xmlpath;

            writer.WriteStartElement("root");

            writer.WriteStartElement("Curso");

            //atributos de curso
            writer.WriteAttributeString("nivel", c.Nivel.ToString(CultureInfo.InvariantCulture));
            writer.WriteAttributeString("letra", c.Letra);
            writer.WriteAttributeString("id", c.Id.ToString(CultureInfo.InvariantCulture));
            writer.WriteAttributeString("idInstitucion", c.idInstitucion.ToString(CultureInfo.InvariantCulture));
            writer.WriteAttributeString("academicPeriodId", c.AcademicPeriodId.ToString(CultureInfo.InvariantCulture));

            BaseTools.SymbolIdentificator = 1;

            //alumnos
            foreach (Alumno a in alumnos)
            {
                if (string.IsNullOrEmpty(a.Simbolo))
                {
                    a.Simbolo = "Icono" + BaseTools.GetSymbolIdentificator() + ".png";
                }
                
                c.Alumnos.Add(a);

                writer.WriteStartElement("Alumno");
                writer.WriteAttributeString("id", a.ID.ToString(CultureInfo.InvariantCulture));
                writer.WriteAttributeString("nombre", a.Nombre);
                writer.WriteAttributeString("apellido", a.Apellido);
                writer.WriteAttributeString("Dni", a.Dni);
                writer.WriteAttributeString("simbolo", a.Simbolo);
                writer.WriteEndElement();
            }

            //end para curso
            writer.WriteEndElement();

            //Inicio Plugins
            writer.WriteStartElement("Plugins");

            //end para Plugins
            writer.WriteEndElement();

            //end para root
            writer.WriteEndElement();

            writer.Close();
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Se entregan los datos del arbol XML respectivo para poder cargar los datos del juego.
        /// </summary>
        /// <param name="nodos"></param>
        public void loadData(Curso c, XmlNodeList nodos)
        {
            //Guardamos los nodos originales
            GameContext.Instance.nodosIniciales = nodos;

            //Transformamos los alumnos del curso
            TransformarAlumnosCurso(c);

            //Guardamos una instancia del curso actual para poder ver datos posteriores.
            GameContext.Instance.cursoJuego = c;

            foreach (XmlNode node in nodos[0])
            {
                if (node.NodeType == XmlNodeType.Comment) continue;

                #region Cargado de Sesion

                int id = Convert.ToInt32(node.Attributes["id"].Value);
                int id_pred = Convert.ToInt32(node.Attributes["predecesora"].Value);

                DateTime inicio = DateTime.Now;
                DateTime final = inicio;

                if (node.Attributes["inicio"].Value != "")
                {
                    inicio = DateTime.Parse(node.Attributes["inicio"].Value);
                }
                if (node.Attributes["final"].Value != "")
                {
                    final = DateTime.Parse(node.Attributes["final"].Value);
                }

                SesionTemplate sc = new SesionTemplate(id, id_pred, inicio, true);

                c.Sesiones.Add((Sesion)sc);

                #endregion

                /* INSERTAR CODIGO DE LECTURA DE DATOS */
            }

            #region Creacion de nueva Sesion

            Sesion s = c.getUltimaSesion();
            SesionTemplate nuevaSesion;

            if (s != null)
            {
                nuevaSesion = new SesionTemplate(s.NumeroSesion + 1, s.NumeroSesion, DateTime.Now, false);
            }
            else
            {
                nuevaSesion = new SesionTemplate(1, -1, DateTime.Now, false);
            }

            c.SesionActual = nuevaSesion;
            c.Sesiones.Add((Sesion)nuevaSesion);

            #endregion

        }
Ejemplo n.º 4
0
        /// <summary>
        /// Lee los alumnos de un xml de un curso.
        /// </summary>
        /// <param name="reader"></param>
        /// <param name="curso"></param>
        private void LeerAlumnosCurso(XmlReader reader, Curso curso)
        {
            while (reader.Read())
            {
                if (reader.NodeType == XmlNodeType.Element)
                {
                    if (reader.Name == "Alumno")
                    {
                        int id = int.Parse(reader.GetAttribute("id"), CultureInfo.InvariantCulture);
                        string nombre = reader.GetAttribute("nombre");
                        string apellidop = reader.GetAttribute("apellido");
                        string simbolo = reader.GetAttribute("simbolo");

                        Alumno alumno = new Alumno(id, nombre, apellidop, simbolo);
                        curso.AgregarAlumno(alumno);
                    }

                }

                else if (reader.NodeType == XmlNodeType.EndElement && reader.Name != "Alumno")
                {
                    break;
                }
            }
        }