예제 #1
0
        public async Task <ActionResult> Deletepop(int id)
        {
            CategoriasController     controlCategoria     = new CategoriasController(db, userManager);
            ConfiguracionsController controlConfiguracion = new ConfiguracionsController(db, userManager);

            Nota nota = await db.Nota.FindAsync(id);

            Categoria categoria = await controlCategoria.getFromId(nota.Categoria.id);


            var userFull = await userManager.FindByEmailAsync(User.Identity.Name);

            var notasE = User.HasClaim(c => (c.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/Nota.Editar" && c.Value == "1"));
            var super  = User.HasClaim(c => (c.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/Super" && c.Value == "1"));



            ViewBag.editar        = controlConfiguracion.Editable(userFull.IDDependencia, categoria, notasE, super);
            ViewBag.visible       = true;
            ViewBag.configuracion = await controlConfiguracion.Get();

            ViewBag.categoria = categoria;
            ViewBag.userFull  = userFull;


            return(View(nota));
        }
        public async Task <List <EjecucionCategoria> > GetHijosFromCatIDPerID(int idCat, int idPeriodo)
        {
            CategoriasController controlCategoria = new CategoriasController(db, userManager);

            var categorias = await controlCategoria.getFromCategoria(idCat);

            List <EjecucionCategoria> respuesta = await GetFromCategorias(categorias, idPeriodo);

            return(respuesta);
        }
예제 #3
0
        public async Task <ActionResult> Categoriapop(int categoriaid = 0, string tipo = "", string mensaje = "")
        {
            CategoriasController     controlCategoria     = new CategoriasController(db, userManager);
            ResponsablesController   controlResponsable   = new ResponsablesController(db, userManager);
            ConfiguracionsController controlConfiguracion = new ConfiguracionsController(db, userManager);

            int ID = Convert.ToInt32(categoriaid);

            Categoria categoria = await controlCategoria.getFromId(ID);


            if (User.Identity.Name != null)
            {
                var userFull = await userManager.FindByEmailAsync(User.Identity.Name);

                // obtiene las categorias
                var idsx = controlResponsable.GetAllIdsFromResponsable(userFull.IDDependencia);

                var notasE = User.HasClaim(c => (c.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/Nota.Editar" && c.Value == "1"));
                var super  = User.HasClaim(c => (c.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/Super" && c.Value == "1"));



                ViewBag.tipo          = tipo;
                ViewBag.mensaje       = mensaje;
                ViewBag.editar        = controlConfiguracion.Editable(userFull.IDDependencia, categoria, notasE, super);
                ViewBag.visible       = true;
                ViewBag.configuracion = await controlConfiguracion.Get();

                ViewBag.categoria = categoria;
                ViewBag.userFull  = userFull;

                ViewBag.PermisoResponsable = idsx;
            }
            else
            {
                Configuracion config = await controlConfiguracion.Get();

                ViewBag.tipo    = tipo;
                ViewBag.mensaje = mensaje;


                ViewBag.editar             = false;
                ViewBag.userFull           = false;
                ViewBag.configuracion      = config;
                ViewBag.visible            = config.libre;
                ViewBag.PermisoResponsable = false;
            }


            var notas = await db.Nota.Include(n => n.Categoria).Include(n => n.User).Where(n => n.IdCategoria == ID).OrderByDescending(n => n.FechaCreacion).ToListAsync();

            return(View(notas.ToList()));
        }
        public async Task <ActionResult> CategoriaRuta(String numero, String id, String periodo, string alto, string ancho, string titulo, string tipo)

        {
            CategoriasController controlCategoria = new CategoriasController(db, userManager);

            var Numero      = Int32.Parse(numero);
            var IdCategoria = Int32.Parse(id);
            var IdPeriodo   = Int32.Parse(periodo);

            List <Categoria> Categorias = new List <Categoria>();


            Categoria categoria = await controlCategoria.getFromId(IdCategoria);

            Categorias.Add(categoria);

            while (categoria.CategoriaPadre != null)
            {
                Categorias.Add(categoria.CategoriaPadre);
                categoria = await controlCategoria.getFromId(categoria.CategoriaPadre.id);
            }



            ViewBag.Numero  = Numero;
            ViewBag.alto    = alto;
            ViewBag.ancho   = ancho;
            ViewBag.titulo  = titulo;
            ViewBag.periodo = periodo;
            Categorias.Reverse();
            ViewBag.tipo = tipo;

            //listado de periodos
            ViewBag.Periodos = new SelectList(await db.Periodo.Where(n => n.tipo == "periodo" || n.tipo == "subtotal" || n.tipo == "Total").ToListAsync(), "id", "nombre", System.Convert.ToInt32(periodo));

            return(View(Categorias));
        }
        public async Task <ActionResult> CategoriaInfo(String numero, String id, String periodo, string alto, string ancho, string titulo, string tipo)

        {
            ConfiguracionsController controlConfiguración = new ConfiguracionsController(db, userManager);
            CategoriasController     controlCategoria     = new CategoriasController(db, userManager);
            IndicadorsController     controlIndicador     = new IndicadorsController(db, userManager);
            PeriodosController       controlPeriodo       = new PeriodosController(db, userManager);


            Configuracion config = await controlConfiguración.Get();

            var Numero      = Int32.Parse(numero);
            var IdCategoria = Int32.Parse(id);
            var IdPeriodo   = Int32.Parse(periodo);



            Categoria categoria = await controlCategoria.getFromId(IdCategoria);

            //hijos
            var hijos = await controlCategoria.getFromCategoria(categoria.id);

            if (hijos.Count > 0)
            {
                ViewBag.nombreHijos = hijos[0].Nivel.nombre;
                ViewBag.numeroHijos = hijos.Count;
            }



            //ponderador
            if (config.PonderacionTipo == "PonderacionAbsoluta")
            {
                PonderacionAbsoluta pond = new PonderacionAbsoluta(db, userManager);
                categoria.Ponderador = await pond.CategoriaPonderador(categoria.id); //80
            }

            //indicadores
            var indi = await controlIndicador.getFromCategoria(categoria.id);

            var indicadores = indi.Where(n => n.ponderador > 0);

            if (indicadores.Count() > 0)
            {
                ViewBag.numeroIndicadores = indicadores.Count();
            }
            else
            {
                ViewBag.numeroIndicadores = await controlCategoria.NumeroIndicadores(categoria.id); //81
            }

            //numero de indicadores en cada evaluacion del último periodo reportado
            if (IdPeriodo != 0)
            {
                // var LastPeriodoReport = COntrolPeriodos.UltimoPeriodoRepFromSubtotal(IdPeriodo);

                ViewBag.periodo = await controlPeriodo.GetFromId(IdPeriodo);

                var periodoSubtotal = await controlPeriodo.GetSubtotalFromPeriodo(IdPeriodo);

                if (periodoSubtotal > 0)
                {
                    ViewBag.periodoSubtotal = await db.Periodo.FindAsync(periodoSubtotal);
                }
            }



            ViewBag.Numero = Numero;
            ViewBag.alto   = alto;
            ViewBag.ancho  = ancho;
            ViewBag.titulo = titulo;
            //ViewBag.periodo = periodo;
            ViewBag.tipo = tipo;


            return(View(categoria));
        }
예제 #6
0
        public async Task <ActionResult> Basic(string tperiodo = "", int id = 0)
        {
            var hijos = "Cumplimiento desagregado";

            PeriodosController   controlPeriodo   = new PeriodosController(db, userManager);
            CategoriasController controlCategoria = new CategoriasController(db, userManager);

            NivelsController controlNivel = new NivelsController(db, userManager);

            List <Widget> Widgets = new List <Widget>();

            int Periodo = 0;

            //obtiene el periopdo por defecto si no se define 1


            if (tperiodo == "" || tperiodo == null)
            {
                var pertemp = await controlPeriodo.GetLastSubtotalEnabled();

                if (pertemp == null)
                {
                    return(RedirectToAction("Index", "Main"));
                }
                Periodo = pertemp.id;
            }
            else
            {
                Periodo = Int32.Parse(tperiodo);
            }

            // obtener la categoria principal si no se define 1

            if (id == 0)
            {
                Categoria categoria = await controlCategoria.getMain();

                if (categoria != null)
                {
                    id = categoria.id;
                    var nivel = categoria.Nivel.numero + 1;

                    var nivelH = await controlNivel.getFromNumero(nivel);

                    if (nivelH != null)
                    {
                        hijos = "Cumplimiento acumulado por " + nivelH.nombre;
                    }
                }
            }
            else
            {
                Categoria categoria = await controlCategoria.getFromId(id);

                if (categoria != null)
                {
                    var nivel = categoria.Nivel.numero + 1;

                    var nivelH = await controlNivel.getFromNumero(nivel);

                    if (nivelH != null)
                    {
                        hijos = "Cumplimiento acumulado por " + nivelH.nombre;
                    }
                }
            }



            Widget widget0 = new Widget();

            widget0.Ancho = "12";
            widget0.Alto  = "fit-content";
            widget0.Name  = "CategoriaRuta";


            Widgets.Add(widget0);



            Widget widget = new Widget();

            widget.Ancho  = "4";
            widget.Alto   = "calc(45% - 37px)";
            widget.Name   = "CategoriaGaugaje";
            widget.Titulo = "Cumplimiento anual acumulado";
            Widgets.Add(widget);
            Widget widget2 = new Widget();

            widget2.Ancho  = "8";
            widget2.Alto   = "calc(45% - 37px)";
            widget2.Name   = "CategoriaTrimestral"; //
            widget2.Titulo = "Histórico Anual";
            widget2.Tipo   = "default";
            Widgets.Add(widget2);
            Widget widget3 = new Widget();

            widget3.Ancho  = "4";
            widget3.Alto   = "55%";
            widget3.Name   = "CategoriaInfo";
            widget3.Titulo = "Información";
            Widgets.Add(widget3);
            Widget widget4 = new Widget();

            widget4.Ancho = "8";
            widget4.Alto  = "55%";
            //widget4.Name = "IndicadoresCategoria";
            widget4.Name   = "CategoriaHijosEstadoBarras";
            widget4.Titulo = hijos;
            Widgets.Add(widget4);


            ViewBag.IdCategoria = id;
            ViewBag.Periodo     = Periodo;

            ViewBag.Widgets = Widgets;
            return(View());
        }