20 lines
		
	
	
		
			976 B
		
	
	
	
		
			C#
		
	
	
	
	
	
		
		
			
		
	
	
			20 lines
		
	
	
		
			976 B
		
	
	
	
		
			C#
		
	
	
	
	
	
|  | using GestionIntegral.Api.Models.Usuarios; | ||
|  | using System.Collections.Generic; | ||
|  | using System.Threading.Tasks; | ||
|  | using System.Data; // Para IDbTransaction | ||
|  | 
 | ||
|  | namespace GestionIntegral.Api.Data.Repositories.Usuarios | ||
|  | { | ||
|  |     public interface IPerfilRepository | ||
|  |     { | ||
|  |         Task<IEnumerable<Perfil>> GetAllAsync(string? nombreFilter); | ||
|  |         Task<Perfil?> GetByIdAsync(int id); | ||
|  |         Task<Perfil?> CreateAsync(Perfil nuevoPerfil, int idUsuario, IDbTransaction transaction); | ||
|  |         Task<bool> UpdateAsync(Perfil perfilAActualizar, int idUsuario, IDbTransaction transaction); | ||
|  |         Task<bool> DeleteAsync(int id, int idUsuario, IDbTransaction transaction); | ||
|  |         Task<bool> ExistsByNameAsync(string nombrePerfil, int? excludeId = null); | ||
|  |         Task<bool> IsInUseAsync(int id); | ||
|  |         Task<IEnumerable<int>> GetPermisoIdsByPerfilIdAsync(int idPerfil); | ||
|  |         Task UpdatePermisosByPerfilIdAsync(int idPerfil, IEnumerable<int> nuevosPermisosIds, IDbTransaction transaction); | ||
|  |     } | ||
|  | } |