public ActionResult <int> Guardar(EncRegistroAcademico reg)
        {
            EncRegistroAcademico ec = null;

            using (TransactionScope transacion = new TransactionScope())
            {
                using (var db = new RegistroAcademicoContext())
                {
                    //1. Verificamos si hay cupo
                    Cursos cursoSelected = reg.DetRegistroAcademicosDet.First().CursoEstudiante;
                    var    cupo          = db.CuposCurso.Where(cp => cp.CursosCupo.CursoId == cursoSelected.CursoId && cp.Year == DateTime.Now.Year).First();

                    var reservas   = db.DetRegistroAcademico.Where(c => c.CursoEstudiante.CursoId == cursoSelected.CursoId).Count();
                    int existencia = cupo.Cupo - int.Parse(reservas.ToString());


                    if (existencia > 0)
                    {
                        //2. Guardamos Estudiante
                        db.Estudiante.Attach(reg.EstudianteReg);
                        ec = new EncRegistroAcademico()
                        {
                            Fecha         = DateTime.Now,
                            EstudianteReg = reg.EstudianteReg
                        };
                        ec.DetRegistroAcademicosDet = new List <DetRegistroAcademico>();
                        DetRegistroAcademico dt = new DetRegistroAcademico();
                        foreach (var item in reg.DetRegistroAcademicosDet)
                        {
                            item.CursoEstudiante.CursoId = item.CursoEstudiante.CursoId;
                            db.Cursos.Attach(item.CursoEstudiante);
                            dt.CursoEstudiante        = item.CursoEstudiante;
                            dt.CursosId               = item.CursosId;
                            dt.EncRegistroAcademicoId = ec.EstudianteId;
                            dt.EncRegroAcademicoEnc   = ec;
                            ec.DetRegId               = dt.DetRegistroIdAcad;
                            ec.DetRegistroAcademicosDet.Add(dt);
                        }

                        db.EncRegistroAcademcico.Add(ec);
                        db.SaveChanges();

                        //3. Descontamos de cupo
                        var cupoUpdate = db.CuposCurso.Where(c => c.CursosId == cupo.CursosId).First();
                        cupoUpdate.Cupo -= 1;
                        db.SaveChanges();
                        transacion.Complete();
                        return(0);
                    }
                    else
                    {
                        return(View("1"));
                    }
                }
            }
        }
        public int eliminarGrado(string data)
        {
            int rpta = 0;

            try
            {
                using (RegistroAcademicoContext db = new RegistroAcademicoContext())
                {
                    int   idGrado = int.Parse(data);
                    Grado grado   = db.Grado.Where(g => g.GradoId == idGrado).First();
                    db.Attach(grado);
                    db.Remove(grado);
                    db.SaveChanges();
                    rpta = 1;
                }
            }
            catch (Exception)
            {
                rpta = 0;
            }
            return(rpta);
        }
예제 #3
0
        public int eliminarUsuario(string data)
        {
            int rpta = 0;

            try
            {
                using (RegistroAcademicoContext db = new RegistroAcademicoContext())
                {
                    int     idUsuario = int.Parse(data);
                    Usuario usuario   = db.Usuarios.Where(u => u.idUsuario == idUsuario).First();
                    db.Attach(usuario);
                    db.Remove(usuario);
                    db.SaveChanges();
                    rpta = 1;
                }
            }
            catch (Exception)
            {
                rpta = 0;
            }
            return(rpta);
        }
        public int eliminarPerfil(string data)
        {
            int rpta = 0;

            try
            {
                using (RegistroAcademicoContext db = new RegistroAcademicoContext())
                {
                    int    idPerfil = int.Parse(data);
                    Perfil perfil   = db.Perfiles.Where(p => p.IdPerfil == idPerfil).First();
                    db.Attach(perfil);
                    db.Remove(perfil);
                    db.SaveChanges();
                    rpta = 1;
                }
            }
            catch (Exception)
            {
                rpta = 0;
            }
            return(rpta);
        }
예제 #5
0
        public ActionResult Registrar([FromBody] UsuarioCls oUsuario)
        {
            using (RegistroAcademicoContext db = new RegistroAcademicoContext())
            {
                Usuario usuario = new Usuario()
                {
                    idUsuario = oUsuario.idUsuario,
                    nombre    = oUsuario.nombre,
                    pass      = oUsuario.pass
                };

                SHA256Managed sha               = new SHA256Managed();
                byte[]        buffer            = Encoding.Default.GetBytes(oUsuario.pass);
                byte[]        dataCifrada       = sha.ComputeHash(buffer);
                string        dataCifradaCadena = BitConverter.ToString(dataCifrada).Replace("-", "");
                usuario.pass = dataCifradaCadena;

                db.Usuarios.Add(usuario);
                db.SaveChanges();
            }

            return(Ok());
        }