Example #1
0
        public async Task <ActionResult> Indicadorpop(int indicadorid = 0, string tipo = "", string mensaje = "")
        {
            IndicadorsController     controlIndicador     = new  IndicadorsController(db, userManager);
            ResponsablesController   controlResponsable   = new ResponsablesController(db, userManager);
            ConfiguracionsController controlConfiguracion = new ConfiguracionsController(db, userManager);

            int ID = Convert.ToInt32(indicadorid);

            Indicador indicador = await controlIndicador.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, indicador.Categoria, notasE, super);
                ViewBag.visible       = true;
                ViewBag.configuracion = await controlConfiguracion.Get();

                ViewBag.indicador = indicador;
                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.NotaIndicador.Include(n => n.Indicador).Include(n => n.User).Where(n => n.IdIndicador == ID).OrderByDescending(n => n.FechaCreacion).ToListAsync();

            return(View(notas.ToList()));
        }
Example #2
0
        public bool Editable(int idresponsable, Categoria categoria, bool permiso, bool super)
        {
            ResponsablesController controlResponsable = new ResponsablesController(db, userManager);

            var ids = controlResponsable.GetAllIdsFromResponsable(idresponsable);

            //if ((responsable.Id == categoria.Responsable.Id && permiso) ||super)

            if (((ids.Contains(idresponsable)) && permiso) || super)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Example #3
0
        public async Task <bool> PermisoMostrarEditarIndicador(System.Security.Claims.ClaimsPrincipal user, Indicador indicador)
        {
            ResponsablesController controlResponsable = new ResponsablesController(db, userManager);
            var userFull = await userManager.FindByEmailAsync(user.Identity.Name);

            var ids = controlResponsable.GetAllIdsFromResponsable(userFull.IDDependencia); //---------------------- hernecia de responsabilidades


            if (((ids.Contains(indicador.Categoria.IdResponsable)) && user.HasClaim(c => c.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/Indicador.Editar" && c.Value == "1")))
            //if (super || (usuario.IDDependencia == indicador.Categoria.IdResponsable && permiso ))
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Example #4
0
        public async Task <bool> PermisoEditarEjecucionPlaneado(System.Security.Claims.ClaimsPrincipal user, Ejecucion ejecucion)
        {
            ResponsablesController controlResponsable = new ResponsablesController(db, userManager);

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

            var ids = controlResponsable.GetAllIdsFromResponsable(userFull.IDDependencia); //---------------------- hernecia de responsabilidades

            if (((ids.Contains(ejecucion.Indicador.Categoria.IdResponsable)) &&
                 user.HasClaim(c => c.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/Planeacion.Editar" && c.Value == "1") &&
                 (ejecucion.Periodo.EditarProgramacion == true)))
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }