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);
|
||
|
|
}
|
||
|
|
}
|