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); } } }
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); }