private void LeerCronogramas(Materium materia)
        {
            IRepositorio<Actividad> repositorioActividad = new ActividadRepositorio();
            var miCedula = (Int32)Session["cedula"];
            var wordApplication = new Microsoft.Office.Interop.Word.Application { Visible = false };
            var nameAndLocation = "~/UploadedFiles/" + Path.GetFileName(materia.File.FileName);
            materia.File.SaveAs(Server.MapPath(nameAndLocation));

            object filePath = Server.MapPath(nameAndLocation);

            object missing = Missing.Value;
            object readOnly = false;
            object isVisible = false;
            Document reportDoc = wordApplication.Documents.Open(
                ref filePath,
                ref missing,
                readOnly,
                ref missing,
                ref missing,
                ref missing,
                ref missing,
                ref missing,
                ref missing,
                ref missing,
                ref missing,
                ref isVisible);

            IRepositorio<ClaseEvaluacion> repositorioClaseEvaluacion = new HorarioClaseRepositorio();
            var listActividad = repositorioActividad.GetAll().Where(a => a.Tipo.CompareTo("Clase") == 0).ToList();
            var listActividades = (from a in listActividad
                                   where a.Periodo.CompareTo(_periodoActual) == 0 &&
                                         a.Seccion.CompareTo(materia.Seccion) == 0 &&
                                         a.Profesor == miCedula
                                   select a).ToList();

            reportDoc.Activate();
            for (int j = 1; j <= reportDoc.Tables.Count; j++)
            {
                Table tbl = reportDoc.Tables[j];
                if (tbl.Rows[1].Cells[1].Range.Text.Contains("Actividad Evaluativa") &&
                    tbl.Rows[1].Cells[2].Range.Text.Contains("Porcentaje") &&
                    tbl.Rows[1].Cells[3].Range.Text.Contains("Fecha"))
                {
                    for (int i = 2; i <= tbl.Rows.Count; i++)
                    {
                        var actividadEvaluativa = tbl.Rows[i].Cells[1].Range.Text;
                        var porcentaje = tbl.Rows[i].Cells[2].Range.Text;
                        var fecha = tbl.Rows[i].Cells[3].Range.Text;
                        var f = Convert.ToDateTime(fecha.Substring(0, fecha.Length - 2));
                        var actividad = new Actividad
                        {
                            Nombre = actividadEvaluativa.Substring(0, actividadEvaluativa.Length - 2),
                            IdMateria = materia.IdMateria,
                            Periodo = _periodoActual,
                            Ponderacion = Convert.ToInt32(porcentaje.Substring(0, porcentaje.Length - 2)),
                            Profesor = miCedula,
                            Seccion = materia.Seccion,
                            Tipo = "Evaluacion"
                        };
                        var act = (from a in listActividad
                                   where a.Periodo.CompareTo(_periodoActual) == 0 &
                                         a.HoraFin.Date.CompareTo(f.Date) == 0 &
                                         a.IdMateria == materia.IdMateria &&
                                         a.Profesor == miCedula
                                   select a).ToList();
                        if (act.Count() != 0)
                        {
                            var acti = act.First();
                            actividad.HoraInicio = acti.HoraInicio;
                            actividad.HoraFin = acti.HoraFin;
                        }
                        else
                        {
                            actividad.HoraInicio = new DateTime(f.Year, f.Month, f.Day, 7, 0, 0);
                            actividad.HoraFin = new DateTime(f.Year, f.Month, f.Day, 9, 0, 0);
                        }
                        repositorioActividad.Save(actividad);

                        if (listActividades.Count() > 0)
                        {
                            var alumnosInscritos =
                                repositorioClaseEvaluacion.GetAll().Where(
                                    cE => cE.IdActividad == listActividades.First().IdActividad).ToList();

                            foreach (var alumnosInscrito in alumnosInscritos)
                            {
                                var claseEvaluacion = new ClaseEvaluacion
                                                          {
                                                              Cedula = alumnosInscrito.Cedula,
                                                              IdActividad = actividad.IdActividad
                                                          };
                                repositorioClaseEvaluacion.Save(claseEvaluacion);
                            }
                        }
                    }
                }
            }
            reportDoc.Close();
            wordApplication.Quit();
        }