public void SaveResultadoRubrica(BEResultadoRubrica ResultadoRubrica) { ePortafolioDBDataContext ePortafolioDAO = new ePortafolioDBDataContext(); var OldResultadoRubrica = ePortafolioDAO.ResultadosRubricaGrupos.SingleOrDefault(r => r.GrupoId == ResultadoRubrica.GrupoId && r.RubricaId == ResultadoRubrica.RubricaId); if (OldResultadoRubrica == null) { var ResultadosRubricaGrupo = new ResultadosRubricaGrupo(); ResultadosRubricaGrupo.CriterioId = ResultadoRubrica.CriterioId; ResultadosRubricaGrupo.GrupoId = ResultadoRubrica.GrupoId; ResultadosRubricaGrupo.RubricaId = ResultadoRubrica.RubricaId; ePortafolioDAO.ResultadosRubricaGrupos.InsertOnSubmit(ResultadosRubricaGrupo); } else { OldResultadoRubrica.CriterioId = ResultadoRubrica.CriterioId; } ePortafolioDAO.SubmitChanges(); }
public ActionResult GradeAssignment(int TrabajoId, int GrupoId, String Origen, bool EsEditable, FormCollection formValues) { if (EsEditable) { Decimal Nota = 0; String NotaGrupo = "NE"; List<BERubrica> Rubricas = RepositoryFactory.GetRubricaRepository().GetRubricasTrabajo(TrabajoId); foreach (String Key in formValues) { BEResultadoRubrica ResultadoRubrica = new BEResultadoRubrica(); ResultadoRubrica.CriterioId = Convert.ToInt32(formValues[Key]); ResultadoRubrica.GrupoId = GrupoId; ResultadoRubrica.RubricaId = Convert.ToInt32(Key); List<BECriterio> Criterios = RepositoryFactory.GetCriterioRubricaRepository().GetCiteriosRubrica(ResultadoRubrica.RubricaId); RepositoryFactory.GetResultadoRubricaRepository().SaveResultadoRubrica(ResultadoRubrica); Nota += Criterios.SingleOrDefault(c => c.CriterioId == ResultadoRubrica.CriterioId).Valor; } if (formValues.Count == Rubricas.Count()) //Existe una calificacion para cara critero de la rubrica, es posible dar una nota final NotaGrupo = Nota.ToString("F2"); else if (formValues.Count != 0) NotaGrupo = "EI"; RepositoryFactory.GetGrupoRepository().SetNotaGrupo(GrupoId, NotaGrupo); } switch (Origen) { case "Details": return RedirectToAction("Details", new { TrabajoId = TrabajoId }); case "Index": return RedirectToAction("Index"); } return null; }