コード例 #1
0
        protected void ActualizarAlumno(int miCedula)
        {
            var fechaActual = DateTime.Now;
            var semestre2 = new DateTime(fechaActual.Year, 03, 01);
            var verano1 = new DateTime(fechaActual.Year, 07, 01);
            var verano2 = new DateTime(fechaActual.Year, 10, 01);
            string periodoActual;
            if (fechaActual < semestre2)
            {
                periodoActual = (fechaActual.Year - 1) + "22";
            }
            else if (fechaActual > verano1 && fechaActual < verano2)
            {
                periodoActual = (fechaActual.Year - 1) + "23";
            }
            else
            {
                periodoActual = (fechaActual.Year - 1) + "21";
            }

            IRepositorio<Materium> repositorioMateria = new MateriumRepositorio();
            var listMaterias = repositorioMateria.GetAll();

            IRepositorio<Actividad> repositorioActividad = new ActividadRepositorio();
            var listActividades = new List<Actividad>();

            IRepositorio<ClaseEvaluacion> repositorioClaseE = new HorarioClaseRepositorio();
            var listClaseEvaluacion = repositorioClaseE.GetAll().Where(cE => cE.Cedula == miCedula).ToList();

            foreach (var claseEvaluacion in listClaseEvaluacion)
            {
                var actividad = repositorioActividad.GetById(claseEvaluacion.IdActividad);
                if (actividad.Tipo.CompareTo("Clase") == 0 &&
                    actividad.Periodo.CompareTo((periodoActual)) == 0 &&
                    actividad.HoraInicio >= fechaActual)
                {
                    listActividades.Add(actividad);
                }
            }

            foreach (var actividad in listActividades)
            {
                var materia = (from mat in listMaterias
                               where mat.IdMateria == actividad.IdMateria
                               select mat).First();
                actividad.Materia = materia;
            }

            IRepositorio<Profesor> repositorioProfesor = new ProfesorRepositorio();

            IRepositorio<SlMaterium> repositorioSlMateria = new SlMateriumRepositorio();
            var listSlMaterias = repositorioSlMateria.GetAll();

            IRepositorio<SlSeccion> repositorioSlSeccion = new SlSeccionRepositorio();
            var listSlSecciones = repositorioSlSeccion.GetAll();

            IRepositorio<SlClase> repositorioSlClase = new SlClaseRepositorio();
            var listSlClase = repositorioSlClase.GetAll();

            IRepositorio<SlProfesor> repositorioSlProfesor = new SlProfesorRepositorio();
            var listSlProfesor = repositorioSlProfesor.GetAll();
            foreach (var actividad in listActividades)
            {
                var flag = false;
                var slMateria = (from mat in listSlMaterias
                                 where mat.Nombre.CompareTo(actividad.Materia.Nombre) == 0
                                 select mat).First();
                if (slMateria.HorasLab != actividad.Materia.HorasLab)
                {
                    actividad.Materia.HorasLab = slMateria.HorasLab;
                    flag = true;
                    Trace.Write("Se encontro un cambio en las horas de laboratorio de la materia " +
                                actividad.Materia.Nombre);
                }
                if (slMateria.HorasPractica != actividad.Materia.HorasPractica)
                {
                    actividad.Materia.HorasPractica = slMateria.HorasPractica;
                    flag = true;
                    Trace.Write("Se encontro un cambio en las horas de practica de la materia " +
                                actividad.Materia.Nombre);
                }
                if (slMateria.HorasTeoria != actividad.Materia.HorasTeoria)
                {
                    actividad.Materia.HorasTeoria = slMateria.HorasTeoria;
                    flag = true;
                    Trace.Write("Se encontro un cambio en las horas de teoria de la materia " +
                                actividad.Materia.Nombre);
                }
                if (slMateria.Creditos != actividad.Materia.Creditos)
                {
                    actividad.Materia.Creditos = slMateria.Creditos;
                    flag = true;
                    Trace.Write("Se encontro un cambio en los creditos de la materia " + actividad.Materia.Nombre);
                }
                if (actividad.Materia.Descripcion != null)
                {
                    if (slMateria.Descripcion.CompareTo(actividad.Materia.Descripcion) != 0)
                    {
                        actividad.Materia.Descripcion = slMateria.Descripcion;
                        flag = true;
                        Trace.Write("Se encontro un cambio en la descripcion de la materia " +
                                    actividad.Materia.Nombre);
                    }
                }
                if (flag)
                {
                    Trace.WriteIf(repositorioMateria.Update(actividad.Materia).CompareTo("true") == 0,
                                  "Se actualizo la materia " + actividad.Materia.Nombre);
                }

                flag = false;
                var slSeccion = (from sec in listSlSecciones
                                 where sec.IdMateria == slMateria.IdMateria
                                 select sec).First();

                if (slSeccion.Seccion.CompareTo(actividad.Seccion) != 0)
                {
                    actividad.Seccion = slSeccion.Seccion;
                    flag = true;
                    Trace.Write("Se encontro un cambio de seccion en la materia " + actividad.Materia.Nombre);
                }
                if (flag)
                {
                    Trace.WriteIf(repositorioActividad.Update(actividad).CompareTo("true") == 0,
                                  "Se actualizo la actividad de la materia " + actividad.Materia.Nombre);
                }

                //var listMisSlClase = (from clase in listSlClase
                //               where clase.IdSeccion == slSeccion.IdSeccion
                //               select clase).ToList();
                //foreach (var slClase in listMisSlClase)
                //{
                //    var actividades = listActividades.Where(a => a.IdMateria == actividad.IdMateria &&
                //                                                 a.Seccion == slSeccion.Seccion).ToList();
                //    foreach (var act in actividades)
                //    {
                //        flag = false;
                //        if (slClase.HoraInicio.Hour.CompareTo(act.HoraInicio.Hour) != 0)
                //        {
                //            act.HoraInicio = new DateTime(act.HoraInicio.Year, act.HoraInicio.Month, act.HoraInicio.Day,
                //                                          slClase.HoraInicio.Hour, act.HoraInicio.Minute, 0);
                //            flag = true;
                //            Trace.Write("Se encontro un cambio en la hora inicio de la materia " +
                //                        actividad.Materia.Nombre);
                //        }
                //        if (slClase.HoraInicio.Minute.CompareTo(act.HoraInicio.Minute) != 0)
                //        {
                //            act.HoraInicio = new DateTime(act.HoraInicio.Year, act.HoraInicio.Month, act.HoraInicio.Day,
                //                                          act.HoraInicio.Minute, slClase.HoraInicio.Minute , 0);
                //            flag = true;
                //            Trace.Write("Se encontro un cambio en la hora inicio de la materia " +
                //                        actividad.Materia.Nombre);
                //        }
                //        if (slClase.HoraFin.Hour.CompareTo(act.HoraFin.Hour) != 0)
                //        {
                //            act.HoraFin = new DateTime(act.HoraFin.Year, act.HoraFin.Month, act.HoraFin.Day,
                //                                       slClase.HoraFin.Hour, act.HoraFin.Minute, 0);
                //            flag = true;
                //            Trace.Write("Se encontro un cambio en la hora inicio de la materia " +
                //                        actividad.Materia.Nombre);
                //        }
                //        if (slClase.HoraFin.Minute.CompareTo(act.HoraFin.Minute) != 0)
                //        {
                //            act.HoraFin = new DateTime(act.HoraFin.Year, act.HoraFin.Month, act.HoraFin.Day,
                //                                       act.HoraFin.Hour, slClase.HoraFin.Minute, 0);
                //            flag = true;
                //            Trace.Write("Se encontro un cambio en la hora inicio de la materia " +
                //                        actividad.Materia.Nombre);
                //        }
                //        if (flag)
                //        {
                //            Trace.WriteIf(repositorioActividad.Update(act).CompareTo("true") == 0,
                //                          "Se actualizo la actividad de la materia " + actividad.Materia.Nombre);
                //        }
                //    }
                //}

                flag = false;
                var slProfesor = (from p in listSlProfesor
                                  where p.Cedula == slSeccion.Profesor
                                  select p).First();
                var profesor = repositorioProfesor.GetAll().Where(p => p.Cedula == actividad.Profesor).First();
                if (slProfesor.Cedula.CompareTo(profesor.Cedula) != 0)
                {
                    profesor.Cedula = slProfesor.Cedula;
                    flag = true;
                    Trace.Write("Se encontro un cambio del profesor de la materia " + actividad.Materia.Nombre);
                }
                if (slProfesor.Nombre.CompareTo(profesor.Nombre) != 0)
                {
                    profesor.Nombre = slProfesor.Nombre;
                    flag = true;
                    Trace.Write("Se encontro un cambio en el nombre del profesor de la materia " +
                                actividad.Materia.Nombre);
                }
                if (slProfesor.Apellido.CompareTo(profesor.Apellido) != 0)
                {
                    profesor.Apellido = slProfesor.Apellido;
                    flag = true;
                    Trace.Write("Se encontro un cambio en el apellido del profesor de la materia " +
                                actividad.Materia.Nombre);
                }
                if (flag)
                {
                    Trace.WriteIf(repositorioProfesor.Update(profesor).CompareTo("true") == 0,
                                  "Se actualizo el profesor " + profesor.Nombre + " " + profesor.Apellido);
                }
            }
        }
コード例 #2
0
        public ActionResult Edit(Materium Materium, int id, FormCollection collection)
        {
            if(ModelState.IsValid)
            {
                IRepositorio<Materium> myRepoMaterium = new MateriumRepositorio();
                Materium.IdMateria = id;
                String resultado = myRepoMaterium.Update(Materium);

                if (resultado.Equals("true"))
                return RedirectToAction("Index");
            }
            return View(Materium);
        }