public async Task <bool> ValidateModulePermissions(IGetHelper getHelper, Guid moduloId, eTipoPermiso tipoPermiso) { permisosModulo = new UsuarioModulo() { ModuloID = moduloId, PermisoEscritura = false, PermisoImprimir = false, PermisoLectura = false }; if (token.Administrador == "SA" || token.Administrador == "GA") { permisosModulo.PermisoEscritura = true; permisosModulo.PermisoImprimir = true; permisosModulo.PermisoLectura = true; return(true); } if (token.UsuariosModulos.Contains(moduloId)) { return(true); } var permisos = await getHelper.GetUsuarioModuloByUsuarioAndModuloIDAsync(token.UsuarioID, moduloId); if (permisos == null) { TempData["toast"] = "No tiene privilegios en el módulo"; return(false); } permisosModulo = permisos; switch (tipoPermiso) { case eTipoPermiso.PermisoLectura: if (!permisos.PermisoLectura) { TempData["toast"] = "No tiene privilegios de acceso al módulo"; return(false); } break; case eTipoPermiso.PermisoEscritura: if (!permisos.PermisoLectura || !permisos.PermisoEscritura) { TempData["toast"] = "No tiene privilegios de escritura en el módulo"; return(false); } break; case eTipoPermiso.PermisoImprimir: if (!permisos.PermisoLectura || !permisos.PermisoImprimir) { TempData["toast"] = "No tiene privilegios de imprimir en el módulo"; return(false); } break; } return(true); }