Ejemplo n.º 1
0
        public virtual bool Equals(Materium obj)
        {
            if (obj == null) return false;

            if (Equals(Creditos, obj.Creditos) == false)
                return false;

            if (Equals(Descripcion, obj.Descripcion) == false)
                return false;

            if (Equals(HorasLab, obj.HorasLab) == false)
                return false;

            if (Equals(HorasPractica, obj.HorasPractica) == false)
                return false;

            if (Equals(HorasTeoria, obj.HorasTeoria) == false)
                return false;

            if (Equals(IdMateria, obj.IdMateria) == false)
                return false;

            if (Equals(Nombre, obj.Nombre) == false)
                return false;

            if (Equals(Periodo, obj.Periodo) == false)
                return false;

            return true;
        }
        public ActionResult Create(Materium Materium)
        {
            if(ModelState.IsValid)
            {
                IRepositorio<Materium> myRepoMaterium = new MateriumRepositorio();
                String resultado = myRepoMaterium.Save(Materium);

                if (resultado.Equals("true"))
                    return RedirectToAction("Index");
            }
            return View(Materium);
        }
        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);
        }
        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();
        }
 public ActionResult Delete(int id, Materium Materium)
 {
     return RedirectToAction("Index");
 }