namespace CashLineERP.Application.Identity;

public interface IAccountingOfficeClientAssignmentRepository
{
    IReadOnlyCollection<AccountingOfficeClientAssignmentView> GetAssignments(long accountingOfficeUserId, bool includeInactive = false);

    AccountingOfficeClientAssignmentView Assign(long accountingOfficeUserId, long partyId, long actorUserId);

    void Revoke(long accountingOfficeUserId, long partyId, long actorUserId);

    bool IsAssigned(long accountingOfficeUserId, long partyId);

    long? ResolvePrimaryOfficeUserId(long clientPartyId);
}
