private void btnAsignar_Click(object sender, EventArgs e)
        {
            if (mgReserva.CurrentRow.Cells[0].Value == null)
            {
            }
            else
            {
                CursoComponent cursoComponent = new CursoComponent();
                Alumno         alumno         = new Alumno();
                alumno.Id = int.Parse(mgReserva.CurrentRow.Cells[0].Value.ToString());
                List <Alumno> listaAlumno = new List <Alumno>();
                listaAlumno.Add(alumno);
                Curso cursoAlumno = new Curso(null, null, null, listaAlumno, null);
                cursoAlumno.Id = curso;
                Maestro maestro = new Maestro();
                maestro.Id = int.Parse(mgReserva.CurrentRow.Cells[0].Value.ToString());
                MaestroHorario maestroHorario = new MaestroHorario(maestro);
                maestroHorario.Id = int.Parse(mgReserva.CurrentRow.Cells[5].Value.ToString());
                cursoComponent.AsignarAlumno(cursoAlumno);

                cursoAlumno.Id = curso;
                CursoHorarioComponent cursoHorarioComponent = new CursoHorarioComponent();
                CursoHorario          cursoHorario          = new CursoHorario(cursoAlumno, maestroHorario);
                cursoHorarioComponent.Create(cursoHorario);
                this.Close();
                llenarGrilla();
            }
        }
        /// <summary>
        /// Modifica la asignacion
        /// </summary>
        /// <param name="cursoHorario">Asignacion Curso Horario</param>
        /// <param name="ruta">ruta del archivo</param>
        public void ModificarCurHor(CursoHorario cursoHorario, string ruta)
        {
            try
            {
                rutaXML = ruta;
                doc.Load(rutaXML);
                XmlElement docentes = doc.DocumentElement;

                XmlNodeList listaDocentes = doc.SelectNodes("CursosHorarios/cursoHorario");
                XmlNode     docen         = CrearCursoHorario(cursoHorario);

                foreach (XmlNode item in listaDocentes)
                {
                    if (item.FirstChild.InnerText == cursoHorario.CodCurso)
                    {
                        if (item.SelectSingleNode("codHorario").InnerText.Equals(cursoHorario.CodHorario))
                        {
                            if (item.LastChild.InnerText.Equals("True"))
                            {
                                XmlNode nodoOld = item;
                                docentes.ReplaceChild(docen, nodoOld);
                            }
                        }
                    }
                }
                doc.Save(rutaXML);
            }
            catch (Exception ex)
            {
                throw new Exception("Error al modificar asignación.");
            }
        }
        /// <summary>
        /// Carga la lista de asignaciones
        /// </summary>
        /// <param name="ruta">ruta del archivo</param>
        /// <returns>lista de asignaciones</returns>
        public List <CursoHorario> CargarTodo(string ruta)
        {
            try
            {
                List <CursoHorario> cursoHorario = new List <CursoHorario>();
                CursoHorario        curHor;
                rutaXML = ruta;
                doc.Load(rutaXML);

                XmlNodeList listaCurHor = doc.SelectNodes("CursosHorarios/cursoHorario");

                XmlNode unCurHor;

                for (int i = 0; i < listaCurHor.Count; i++)
                {
                    curHor            = new CursoHorario();
                    unCurHor          = listaCurHor.Item(i);
                    curHor.CodHorario = unCurHor.SelectSingleNode("codHorario").InnerText;
                    curHor.CodCurso   = unCurHor.SelectSingleNode("codCurso").InnerText;
                    curHor.Activo     = Boolean.Parse(unCurHor.SelectSingleNode("activo").InnerText);
                    cursoHorario.Add(curHor);
                }
                return(cursoHorario);
            }
            catch (Exception ex)
            {
                throw new Exception("Error al cargar curso-horario.");
            }
        }
        /// <summary>
        /// Verifica que la asignacion no exista
        /// </summary>
        /// <param name="cursoHorario">Asignacion Curso Horario</param>
        /// <param name="ruta">ruta del archivo</param>
        /// <returns>excepcion si existe y false si no</returns>
        private bool VerificarAsignacion(CursoHorario cursoHorario, string ruta)
        {
            try
            {
                rutaXML = ruta;
                doc.Load(rutaXML);

                XmlNode curHorario = doc.DocumentElement;

                XmlNodeList listaDocCur = doc.SelectNodes("CursosHorarios/cursoHorario");

                foreach (XmlNode cH in listaDocCur)
                {
                    if (cH.SelectSingleNode("codCurso").InnerText.Equals(cursoHorario.CodCurso))
                    {
                        if (cH.SelectSingleNode("codHorario").InnerText.Equals(cursoHorario.CodHorario))
                        {
                            throw new Exception("La asignacion ya existe.");
                        }
                    }
                }
                return(false);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
        /// <summary>
        /// Crea el nodo de asignacion
        /// </summary>
        /// <param name="cursoHorario">Asignacion Curso Horario</param>
        /// <returns>ruta del archivo</returns>
        private XmlNode CrearCursoHorario(CursoHorario cursoHorario)
        {
            try
            {
                XmlNode docenteCur = doc.CreateElement("cursoHorario");

                XmlElement xCodCur = doc.CreateElement("codCurso");
                xCodCur.InnerText = cursoHorario.CodCurso;
                docenteCur.AppendChild(xCodCur);

                XmlElement xCodHor = doc.CreateElement("codHorario");
                xCodHor.InnerText = cursoHorario.CodHorario;
                docenteCur.AppendChild(xCodHor);

                XmlElement xActivo = doc.CreateElement("activo");
                xActivo.InnerText = cursoHorario.Activo.ToString();
                docenteCur.AppendChild(xActivo);

                return(docenteCur);
            }
            catch (Exception ex)
            {
                throw new Exception("Error al crear asignación curso-horario.");
            }
        }
        public CursoHorario Create(CursoHorario entity)
        {
            CursoHorarioDAC curso = new CursoHorarioDAC();

            MaestroHorarioComponent maestroHorario = new MaestroHorarioComponent();

            maestroHorario.CambiarDisponibilidad(entity.maestroHorario);
            return(curso.Create(entity));
        }
Пример #7
0
        public void CursoHorario(CursoHorario entity)
        {
            const string SQL_STATEMENT = "delete from CursoHorario  where id_Curso=@curso and id_maestroHorario=@horario";
            var          db            = DatabaseFactory.CreateDatabase(CONNECTION_NAME);

            using (DbCommand cmd = db.GetSqlStringCommand(SQL_STATEMENT))
            {
                db.AddInParameter(cmd, "@curso", DbType.Int32, entity.curso.Id);
                db.AddInParameter(cmd, "@horario", DbType.Int32, entity.maestroHorario.Id);


                db.ExecuteNonQuery(cmd);
            }
        }
Пример #8
0
        public CursoHorario ALoad(IDataReader entity)
        {
            MaestroHorario maestroHorario = new MaestroHorario();

            maestroHorario.Id = GetDataValue <int>(entity, "id_MaestroHorario");
            Curso curso = new Curso();

            curso.Id = GetDataValue <int>(entity, "id_curso");
            CursoHorario cursoHorario = new CursoHorario(curso, maestroHorario);



            return(cursoHorario);
        }
 private void FrmCursoHorario_Load(object sender, EventArgs e)
 {
     cursoBOL        = new CursoBOL();
     horarioBOL      = new HorarioBOL();
     cursoHorarioBOL = new CursoHorarioBOL();
     curso           = new Curso();
     horario         = new Horario();
     cursoHorario    = new CursoHorario();
     rutaCurso       = "Cursos.xml";
     rutaHorario     = "Horarios.xml";
     rutaCurHor      = "CursosHorarios.xml";
     cursoHorarioBOL.CrearArchivo(rutaCurHor, "CursosHorarios");
     CargarTablas();
 }
Пример #10
0
        public CursoHorario Create(CursoHorario entity)
        {
            const string SQL_STATEMENT = "insert into CursoHorario(id_Curso,id_MaestroHorario)values (@curso,@horario)";
            var          db            = DatabaseFactory.CreateDatabase(CONNECTION_NAME);

            using (DbCommand cmd = db.GetSqlStringCommand(SQL_STATEMENT))
            {
                db.AddInParameter(cmd, "@curso", DbType.Int32, entity.curso.Id);
                db.AddInParameter(cmd, "@horario", DbType.Int32, entity.maestroHorario.Id);



                entity.Id = Convert.ToInt32(db.ExecuteScalar(cmd));
            }
            return(entity);
        }
Пример #11
0
        public List <CursoHorario> ReadByCurso(int id_Curso)
        {
            List <CursoHorario> result          = new List <CursoHorario>();
            CursoHorarioDAC     cursoHorarioDAC = new CursoHorarioDAC();

            foreach (var item in cursoHorarioDAC.ReadByCurso(id_Curso))
            {
                CursoComponent          cursoComponent          = new CursoComponent();
                MaestroHorarioComponent maestroHorarioComponent = new MaestroHorarioComponent();
                CursoHorario            cursoHorario            = new CursoHorario(cursoComponent.ReadBy(item.curso.Id), maestroHorarioComponent.ReadBy(item.maestroHorario.Id));



                result.Add(cursoHorario);
            }


            return(result);
        }
Пример #12
0
 /// <summary>
 /// Verifica los datos de la asignacion
 /// </summary>
 /// <param name="cursoHorario">Objeto asignacion</param>
 /// <param name="ruta">ruta del archivo</param>
 /// <param name="funcion">funcion del metodo</param>
 public void VerificarDocCur(CursoHorario cursoHorario, string ruta, Boolean funcion)
 {
     if (String.IsNullOrEmpty(cursoHorario.CodCurso))
     {
         throw new Exception("Curso requerido.");
     }
     if (String.IsNullOrEmpty(cursoHorario.CodHorario))
     {
         throw new Exception("Horario requerido.");
     }
     if (!funcion)
     {
         dal.ModificarCurHor(cursoHorario, ruta);
     }
     else
     {
         dal.AsignarCurHor(cursoHorario, ruta);
     }
 }
Пример #13
0
        public List <CursoHorario> Read()
        {
            const string SQL_STATEMENT = "select * from CursoHorario ";

            List <CursoHorario> result = new List <CursoHorario>();
            var db = DatabaseFactory.CreateDatabase(CONNECTION_NAME);

            using (DbCommand cmd = db.GetSqlStringCommand(SQL_STATEMENT))
            {
                using (IDataReader dr = db.ExecuteReader(cmd))
                {
                    while (dr.Read())
                    {
                        CursoHorario roles = ALoad(dr);
                        result.Add(roles);
                    }
                }
            }
            return(result);
        }
Пример #14
0
        public List <CursoHorario> ReadByCurso(int id_Curso)
        {
            const string SQL_STATEMENT = "select * from CursoHorario as ch join Maestro_Horario as mh on mh.ID_MaestroHorario=ch.ID_MaestroHorario where ch.ID_Curso=@curso";

            List <CursoHorario> result = new List <CursoHorario>();
            var db = DatabaseFactory.CreateDatabase(CONNECTION_NAME);

            using (DbCommand cmd = db.GetSqlStringCommand(SQL_STATEMENT))
            {
                db.AddInParameter(cmd, "@curso", DbType.Int32, id_Curso);
                using (IDataReader dr = db.ExecuteReader(cmd))
                {
                    while (dr.Read())
                    {
                        CursoHorario roles = ALoad(dr);
                        result.Add(roles);
                    }
                }
            }
            return(result);
        }
Пример #15
0
        /// <summary>
        /// Archiva la asignacion
        /// </summary>
        /// <param name="cursoHorario">Asignacion Curso Horario</param>
        /// <param name="ruta">ruta del archivo</param>
        public void AsignarCurHor(CursoHorario cursoHorario, string ruta)
        {
            try
            {
                if (!VerificarAsignacion(cursoHorario, ruta))
                {
                    rutaXML = ruta;
                    doc.Load(rutaXML);

                    XmlNode docCur = CrearCursoHorario(cursoHorario);

                    XmlNode nodoRaiz = doc.DocumentElement;

                    nodoRaiz.InsertAfter(docCur, nodoRaiz.LastChild);

                    doc.Save(rutaXML);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Пример #16
0
 /// <summary>
 /// Desactiva la asignacion
 /// </summary>
 /// <param name="cursoHorario">Objeto asignacion</param>
 /// <param name="ruta">ruta del archivo</param>
 public void EliminarCurHor(CursoHorario cursoHorario, string ruta)
 {
     dal.EliminarCurHor(cursoHorario, ruta);
 }