//
        // GET: /Alumno/Delete/5
        public ActionResult Delete(int id)
        {
            if(ModelState.IsValid)
            {
                IRepositorio<Alumno> myRepoAlumno = new AlumnoRepositorio();
                String resultado = myRepoAlumno.Delete(myRepoAlumno.GetById(id));

                if (resultado.Equals("true"))
                    return RedirectToAction("Index"); return RedirectToAction("Index");
            }
            return RedirectToAction("Index");
        }
 public ActionResult IndexProfesor()
 {
     var miCedula = (Int32)Session["cedula"];
     IRepositorio<Materium> repositorioMaterium = new MateriumRepositorio();
     IRepositorio<Actividad> repositorioActividad = new ActividadRepositorio();
     var actividades = (from actividad in repositorioActividad.GetAll()
                        where actividad.Profesor == miCedula &&
                        actividad.Periodo == Helper.CalcularPeriodoActual() &&
                        actividad.Tipo.CompareTo("Clase") == 0
                        select actividad).ToList();
     var misAlumnos = new List<Alumno>();
     var misMaterias = new List<Materium>();
     IRepositorio<ClaseEvaluacion> repositorioClaseEvaluacion = new HorarioClaseRepositorio();
     var clase = repositorioClaseEvaluacion.GetAll();
     IRepositorio<Alumno> repositorioAlumno = new AlumnoRepositorio();
     foreach (var actividad in actividades)
     {
         foreach (var claseEvaluacion in clase)
         {
             if (claseEvaluacion.IdActividad == actividad.IdActividad)
             {
                 var alumno = repositorioAlumno.GetById(actividad.Cedula);
                 if (!misAlumnos.Contains(alumno))
                 {
                     misAlumnos.Add(alumno);
                 }
             }
         }
         var materia = repositorioMaterium.GetById(actividad.IdMateria);
         if (!misMaterias.Contains(materia))
         {
             misMaterias.Add(materia);
         }
     }
     IRepositorio<Profesor> repositorioProfesor = new ProfesorRepositorio();
     var miProfesor = repositorioProfesor.GetById(miCedula);
     miProfesor.Materiums = misMaterias;
     miProfesor.Alumnos = misAlumnos;
     return View(miProfesor);
 }
 public ActionResult GetCedula(LogOnModel model)
 {
     if (model.Cedula != 0)
     {
         if (model.Tipo.CompareTo("Estudiante") == 0)
         {
             IRepositorio<Alumno> repositorioAlumno = new AlumnoRepositorio();
             var estudiante = repositorioAlumno.GetById(model.Cedula);
             if (estudiante == null)
             {
                 estudiante = new Alumno { Cedula = model.Cedula };
                 IRepositorio<SlAlumno> repositorioSLAlumno = new SlAlumnoRepositorio();
                 var registroEstudiante = repositorioSLAlumno.GetById(estudiante.Cedula);
                 if (registroEstudiante != null)
                 {
                     estudiante.Apellido = registroEstudiante.Apellido;
                     estudiante.Nombre = registroEstudiante.Nombre;
                     estudiante.FechaNac = Convert.ToDateTime(registroEstudiante.FechaNac).Date;
                     estudiante.Sexo = registroEstudiante.Sexo == "M" ? "Masculino" : "Femenino";
                     estudiante.CorreoUcab = registroEstudiante.CorreoUcab;
                     estudiante.CorreoAlternativo = registroEstudiante.CorreoAlternativo;
                     estudiante.Direccion = registroEstudiante.Direccion + ", " + registroEstudiante.Estado + ", " +
                                        registroEstudiante.Cuidad;
                     estudiante.Password = "******";
                     estudiante.ConfirmPassword = "******";
                     return View("Register", estudiante);
                 }
             }
             else
             {
                 ModelState.AddModelError("usuarioInvalido",
                                          "El estudiante con la cedula " + estudiante.Cedula +
                                          " ya esta registrado en nuestro sistema.");
                 return View();
             }
         }
         else
         {
             IRepositorio<Profesor> repositorioProfesor = new ProfesorRepositorio();
             var profesor = repositorioProfesor.GetById(model.Cedula);
             if (profesor == null || profesor.Username == null)
             {
                 profesor = new Profesor { Cedula = model.Cedula };
                 IRepositorio<SlProfesor> repositorioSLProfesor = new SlProfesorRepositorio();
                 var registroProfesor = repositorioSLProfesor.GetById(profesor.Cedula);
                 if (registroProfesor != null)
                 {
                     profesor.Apellido = registroProfesor.Apellido;
                     profesor.Nombre = registroProfesor.Nombre;
                     return View("RegisterProfesor", profesor);
                 }
             }
             else
             {
                 ModelState.AddModelError("usuarioInvalido",
                                          "El profesor con la cedula " + model.Cedula +
                                          " ya esta registrado en nuestro sistema.");
                 return View();
             }
         }
     }
     ModelState.AddModelError("usuarioInvalido", "Debes escribir un numero de cedula valido");
     return View();
 }
        public ActionResult ConfigurationEstudiante()
        {
            IRepositorio<Alumno> repositorioAlumno = new AlumnoRepositorio();
            int cedula = (int)Session["cedula"];
            Alumno alumno = repositorioAlumno.GetById(cedula);
            IRepositorio<Materium> repositorioMaterium = new MateriumRepositorio();

            IRepositorio<ClaseEvaluacion> repositorioHorarioClase = new HorarioClaseRepositorio();
            var listCronograma = repositorioHorarioClase.GetAll().Where(a => a.Cedula == alumno.Cedula);

            IRepositorio<Actividad> repositorioActividad = new ActividadRepositorio();
            var listActividades = repositorioActividad.GetAll().Where(a => a.Periodo.CompareTo(_periodoActual) == 0);

            var misMaterias = (from d in listCronograma
                               from c in listActividades
                               where c.Tipo.CompareTo("Clase") == 0 &&
                                     d.IdActividad == c.IdActividad
                               select c.IdMateria).Distinct();

            alumno.Materiums = new List<Materium>();

            IRepositorio<HorarioPreferencia> repositorioHorarioPreferencia = new HorarioPreferenciaRepositorio();
            var listHorariosPreferencia = repositorioHorarioPreferencia.GetAll().Where(horario => horario.Cedula == alumno.Cedula).ToList();
            alumno.HorarioPreferencia = listHorariosPreferencia;

            IRepositorio<AlumnoMaterium> repositorioAlumnoMat = new AlumnoMateriumRepositorio();
            foreach (var materia in misMaterias)
            {
                var mat = repositorioMaterium.GetById(materia);
                mat.Preferencia = repositorioAlumnoMat.GetAll().Where(aM => aM.Cedula == cedula &&
                                                                            aM.IdMateria == mat.IdMateria).First().Preferencia;
                alumno.Materiums.Add(mat);
            }

            return View("Configuration", alumno);
        }
 //
 // GET: /Alumno/Edit/5
 public ActionResult Edit(int id)
 {
     IRepositorio<Alumno> myRepoAlumno = new AlumnoRepositorio();
     return View(myRepoAlumno.GetById(id));
 }
 public ActionResult Index(HtmlForm form)
 {
     string cadena = Request["alumno"];
     int indice = Request["alumno"].IndexOf('-') + 2;
     if (indice != 1)
     {
         string exp = cadena.Substring(indice).Trim();
         int expediente = Convert.ToInt32(exp);
         IRepositorio<Alumno> alumnoRepositorio = new AlumnoRepositorio();
         IList<Alumno> listaAlumnos = new List<Alumno> {alumnoRepositorio.GetById(expediente)};
         return View(listaAlumnos);
     }
     return View();
 }
 //
 // GET: /Recordacademico/
 public ActionResult Index()
 {
     IRepositorio<Recordacademico> myRepoRecordacademico = new RecordacademicoRepositorio();
     IRepositorio<Materium> repositorioMateria = new MateriumRepositorio();
     IRepositorio<Alumno> repositorioAlumno = new AlumnoRepositorio();
     IList<Recordacademico> listaRecordacademicos = myRepoRecordacademico.GetAll();
     foreach (var recordacademico in listaRecordacademicos)
     {
         recordacademico.Materium = repositorioMateria.GetById(recordacademico.IdMateria);
         recordacademico.Alumno = repositorioAlumno.GetById(recordacademico.Expediente);
     }
     return View(listaRecordacademicos);
 }