using e_suite.Database.Audit;
using e_suite.Database.Core;
using e_suite.Database.Core.Tables.Printer;
using eSuite.Core.Miscellaneous;

namespace e_suite.API.Common.repository;

public interface IOrganisationsManagerRepository : IRepository
{
    IQueryable<Organisation> GetOrganisationsList();
    Task AddOrganisation(AuditUserDetails auditUserDetails, Organisation organisation, CancellationToken cancellationToken);
    Task DeleteOrganisation(AuditUserDetails auditUserDetails, IGeneralIdRef generalIdRef, CancellationToken cancellationToken);
    Task EditOrganisation(AuditUserDetails auditUserDetails, Organisation organisation, CancellationToken cancellationToken);
    Task<Organisation?> FindOrganisation(IGeneralIdRef generalIdRef, CancellationToken cancellationToken);
}