using DXPDAL.Party; using GB5Shared.DTO.Framework.Login; namespace DXPBLL.Party; public interface IPartyBLL { Task GetPartyAsync(int dxpPartyId, LoginDTO login, CancellationToken ct); // Dedup lookup used during onboarding — the "network effect" instant-match. Any subset of // the four hash parameters may be non-null; pass normalized+hashed values only, never raw PII. Task> FindByIdentityHashAsync( string? gstinHash, string? panHash, string? mobileHash, string? emailHash, LoginDTO login, CancellationToken ct); Task SavePartyAsync(PartyDTO dto, LoginDTO login, CancellationToken ct); Task> GetPartyLinksAsync(int dxpPartyId, LoginDTO login, CancellationToken ct); Task LinkPartyToTenantAsync(PartyLinkDTO dto, LoginDTO login, CancellationToken ct); Task RevokePartyLinkAsync(int dxpPartyLinkId, LoginDTO login, CancellationToken ct); Task> GetPartyBranchLinksAsync(int dxpPartyId, LoginDTO login, CancellationToken ct); Task LinkPartyBranchAsync(PartyBranchLinkDTO dto, LoginDTO login, CancellationToken ct); }