public IHttpActionResult PutActa_Examen_Detalle(int id, Acta_Examen_Detalle acta_Examen_Detalle) { if (!ModelState.IsValid) { return BadRequest(ModelState); } if (id != acta_Examen_Detalle.ID) { return BadRequest(); } _db.Entry(acta_Examen_Detalle).State = EntityState.Modified; try { _db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!Acta_Examen_DetalleExists(id)) { return NotFound(); } else { throw; } } return StatusCode(HttpStatusCode.NoContent); }
public ActionResult GuardarInscripciones(int? idAlumno, int[] mesas, bool chequearCorrelativas = false) { bool error = false; // TRAER CURSADAS var resultado = new List<ErrorViewModel>(); //List<int> inscripciones = new List<int>(); List<Acta_Examen_Detalle> inscripciones = new List<Acta_Examen_Detalle>(); var mesasDeExamen = db.Actas_Examenes .Where(a => mesas.Contains(a.ID)) //.Where(a => a.ACTA_EXAMEN_MATERIA.MATERIA_APROBADAS_PARA_RENDIR != null) .Select(a => new { MESA = a.ID, CODIGOS = a.ACTA_EXAMEN_MATERIA.MATERIA_APROBADAS_PARA_RENDIR.Substring(0, a.ACTA_EXAMEN_MATERIA.MATERIA_APROBADAS_PARA_RENDIR.Length - 1) }).ToArray(); #region correlativas if (chequearCorrelativas == true) { foreach (var mesa in mesasDeExamen) { if (mesa.CODIGOS != null) { foreach (var codigo in mesa.CODIGOS.Split(',')) { var cursadas = db.Cursadas .Where(c => c.CURSADA_ALUMNOS_ID == idAlumno).ToList(); var pepe = db.Cursadas.Include("CURSADA_MATERIA_X_CURSO") .Where(c => c.CURSADA_ALUMNOS_ID == idAlumno && c.CURSADA_MATERIA_X_CURSO.MATERIA_X_CURSO_MATERIA.MATERIA_CODIGO == codigo).ToList(); var parciales = db.Cursadas.Include("CURSADA_MATERIA_X_CURSO") .SingleOrDefault(c => c.CURSADA_ALUMNOS_ID == idAlumno && c.CURSADA_MATERIA_X_CURSO.MATERIA_X_CURSO_MATERIA.MATERIA_CODIGO == codigo); if (parciales == null) { // NUNCA RINDIO PARCIAL Flash.Instance.Success("Inscripcion", mesa.MESA + " Incompatible, No Rindio " + codigo); resultado.Add(new ErrorViewModel { MESA = mesa.MESA, DESCRIPCION = "No rindio" }); error = true; } else if (parciales.CURSADA_ESTADO_ACADEMICO != "Regular") { Flash.Instance.Success("Inscripcion", mesa.MESA + " Incompatible, Mesa Reprobada"); resultado.Add(new ErrorViewModel { MESA = mesa.MESA, DESCRIPCION = "Mesa reprobada" }); error = true; } } } } if (resultado.Count() > 0) { return RedirectToAction("Index"); } } #endregion foreach (var mesa in mesasDeExamen) { var acta_examen = db.Actas_Examenes.Find(mesa.MESA); Acta_Examen_Detalle acta_examen_detalle = new Acta_Examen_Detalle { ACTA_EXAMEN_DETALLE_ALUMNOS_ID = idAlumno, }; acta_examen.ACTAS_EXAMENES_DETALLES.Add(acta_examen_detalle); db.SaveChanges(); inscripciones.Add(acta_examen_detalle); } ViewBag.INSCRIPCIONES = inscripciones; ViewBag.PERSONA_NOMBRE_COMPLETO = db.Personas.Single(a => a.ID == idAlumno).PERSONA_NOMBRE_COMPLETO; return new ViewAsPdf("ConstanciaDeInscripcion"); }
public IHttpActionResult PostActa_Examen_Detalle(Acta_Examen_Detalle acta_Examen_Detalle) { if (!ModelState.IsValid) { return BadRequest(ModelState); } _db.Actas_Examenes_Detalles.Add(acta_Examen_Detalle); _db.SaveChanges(); return CreatedAtRoute("DefaultApi", new { id = acta_Examen_Detalle.ID }, acta_Examen_Detalle); }