using SIGCM2.Application.Common;
using SIGCM2.Domain.Entities;

namespace SIGCM2.Application.Abstractions.Persistence;

public interface ISeccionRepository
{
    Task<int> AddAsync(Seccion s, CancellationToken ct = default);
    Task<Seccion?> GetByIdAsync(int id, CancellationToken ct = default);
    Task<bool> ExistsByCodigoInMedioAsync(int medioId, string codigo, CancellationToken ct = default);
    Task UpdateAsync(Seccion s, CancellationToken ct = default);
    Task<PagedResult<Seccion>> GetPagedAsync(SeccionesQuery q, CancellationToken ct = default);
}
