public override bool Guardar(Evaluaciones evaluaciones) { RepositorioEvaluacion repositorio = new RepositorioEvaluacion(new Contexto()); bool paso = false; try { if (_contexto.Evaluaciones.Add(evaluaciones) != null) { foreach (var item in evaluaciones.Detalles) { _contexto.Clientes.Find(item.EsudianteId).PuntosPerdidos += item.Perdido; var cantidad = _contexto.Categorias.Find(item.CategoriaId).Cantidad += 1; var promedio = _contexto.Categorias.Find(item.CategoriaId).PromedioNeto += item.Promedio; var promedioTota = promedio / cantidad; _contexto.Categorias.Find(item.CategoriaId).PromedioTotal = promedioTota; } } paso = _contexto.SaveChanges() > 0; _contexto.Dispose(); } catch (Exception) { throw; } return(paso); }
public override bool Modificar(Evaluaciones evaluacion) { RepositorioEvaluacion repositorio = new RepositorioEvaluacion(new Contexto()); var Anterior = Buscar(evaluacion.EvaluacionId); bool paso = false; Contexto con = new Contexto(); try { Contexto contexto = new Contexto(); bool pas = false; foreach (var item in Anterior.Detalles.ToList()) { if (!evaluacion.Detalles.Exists(d => d.DetalleEvaluacionId == item.DetalleEvaluacionId)) { contexto.Clientes.Find(item.EsudianteId).PuntosPerdidos += item.Perdido; contexto.Entry(item).State = EntityState.Deleted; pas = true; } } if (pas) { contexto.SaveChanges(); } contexto.Dispose(); foreach (var item in evaluacion.Detalles) { var estado = EntityState.Unchanged; if (item.DetalleEvaluacionId == 0) { estado = EntityState.Added; } con.Entry(item).State = estado; con.Clientes.Find(item.EsudianteId).PuntosPerdidos -= item.Perdido; } con.Entry(evaluacion).State = EntityState.Modified; if (con.SaveChanges() > 0) { paso = true; } } catch (Exception) { throw; } return(paso); }
public override bool Eliminar(int id) { bool paso = false; RepositorioEvaluacion repositorio = new RepositorioEvaluacion(new Contexto()); Evaluaciones evaluaciones = _contexto.Evaluaciones.Find(id); foreach (var item in evaluaciones.Detalles) { _contexto.Clientes.Find(item.EsudianteId).PuntosPerdidos -= item.Perdido; } _contexto.Evaluaciones.Remove(evaluaciones); paso = _contexto.SaveChanges() > 0; return(paso); }