/* * Basado en: * Obtener multiples tuplas llamando a un procedimiento almacenado: https://docs.microsoft.com/es-es/ef/ef6/modeling/designer/advanced/multiple-result-sets#multiple-result-sets-with-configured-in-edmx */ private void cargar_permisos() { var identidad_autenticada = (ClaimsPrincipal)Thread.CurrentPrincipal; string correo_autenticado = identidad_autenticada.Claims.Where(c => c.Type == ClaimTypes.Email).Select(c => c.Value).SingleOrDefault(); if (correo_autenticado != null) { limpiar_permisos(); // Guardo las tuplas resultantes del llamado al procedimiento almacenado, orden: Sigla de carrera, numero de enfasis, permiso var tuplas_resultantes = db.SP_ObtenerPermisosUsuario(correo_autenticado, obtener_perfil_actual()); string llave_hash = null; foreach (var tupla in tuplas_resultantes) { // Creo la llave unica y la agrego a los permisos de usuario. llave_hash = tupla.SiglaCarrera + ',' + tupla.NumeroEnfasis + ',' + tupla.IdPermiso; permisos_usuario.Add(llave_hash); } } }