Пример #1
0
        // GET: Reportes
        public ActionResult Index(string secc)
        {
            if (secc == null)
            {
                ViewBag.Reporte = "rep-cursos";
            }
            else
            {
                ViewBag.Reporte = secc;
            }

            var cursosSet = db.CursosSet.Include(c => c.CategoriasSet).Include(c => c.ModalidadesSet).Include(c => c.TipoCursosSet).Include(c => c.LineasCarrerasSet);

            List <UsuariosViewModel> usuarios = null;

            using (pheEntities db = new pheEntities())
            {
                usuarios = (from t in db.UsuariosSet
                            select new UsuariosViewModel
                {
                    FechaNac = t.fec_nac,
                    IdGenero = t.id_genero
                }
                            ).ToList();
            }

            var rango1 = (from t in usuarios where ((DateTime.Now - t.FechaNac).TotalDays / 365) <= 10 select t).Count();
            var rango2 = (from t in usuarios where ((DateTime.Now - t.FechaNac).TotalDays / 365) > 10 && ((DateTime.Now - t.FechaNac).TotalDays / 365) <= 30 select t).Count();
            var rango3 = (from t in usuarios where ((DateTime.Now - t.FechaNac).TotalDays / 365) > 30 && ((DateTime.Now - t.FechaNac).TotalDays / 365) <= 50 select t).Count();
            var rango4 = (from t in usuarios where ((DateTime.Now - t.FechaNac).TotalDays / 365) > 50 select t).Count();

            List <RangosViewModel> rangos = new List <RangosViewModel>();

            rangos.Add(new RangosViewModel()
            {
                Descripcion = "0 y 10 Años", Cantidad = rango1
            });
            rangos.Add(new RangosViewModel()
            {
                Descripcion = "11 y 30 Años", Cantidad = rango2
            });
            rangos.Add(new RangosViewModel()
            {
                Descripcion = "31 y 50 Años", Cantidad = rango3
            });
            rangos.Add(new RangosViewModel()
            {
                Descripcion = "Mayores 50 Años", Cantidad = rango4
            });

            ViewBag.Rangos = rangos;

            var genero1 = (from t in usuarios where t.IdGenero == 1 select t).Count();
            var genero2 = (from t in usuarios where t.IdGenero == 2 select t).Count();
            var genero3 = (from t in usuarios where t.IdGenero == 3 select t).Count();

            List <GenerosViewModel> generos = new List <GenerosViewModel>();

            generos.Add(new GenerosViewModel()
            {
                Descripcion = "Masculino", Cantidad = genero1
            });
            generos.Add(new GenerosViewModel()
            {
                Descripcion = "Femenino", Cantidad = genero2
            });
            generos.Add(new GenerosViewModel()
            {
                Descripcion = "Otros", Cantidad = genero3
            });

            ViewBag.Generos = generos;


            return(View(cursosSet.ToList()));
        }