示例#1
0
        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");
        }
示例#3
0
        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);
        }