using FrameworkDAL.DTO.Address; using FrameworkDAL.DTO.EIPConversation; using FrameworkDAL.DTO.Party; using GB5Shared.DTO.Framework.Login; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace FrameworkDAL.CustomCode.EIPConversation { public interface IConceptDAL { #region Conversation Session Task GetConversationSessionAsync( LoginDTO login, string sessionToken, CancellationToken ct = default); Task CreateConversationSessionAsync( LoginDTO login, MessageHubConversationDTO dto, CancellationToken ct = default); Task UpdateConversationStatusAsync( LoginDTO login, string sessionToken, int statusId, CancellationToken ct = default); Task UpdateConversationLastActivityAsync( LoginDTO login, string sessionToken, CancellationToken ct = default); Task CloseConversationSessionAsync( LoginDTO login, string sessionToken, CancellationToken ct = default); #endregion #region Conversation Detail – Messages Task AddConversationMessageAsync( LoginDTO login, long conversationId, byte messageDirection, string messageContent, string? providerMessageId, CancellationToken ct = default); Task AddConversationOtpAsync( LoginDTO login, long conversationId, string otp, System.DateTime expiresOn, CancellationToken ct = default); #endregion #region Support Request Task SaveSupportRequestAsync( LoginDTO login, SupportRequestDTO dto, CancellationToken ct = default); #endregion #region Contact / Party Product Task GetContact( LoginDTO login, string mobileNo, CancellationToken ct = default); Task SaveContact( LoginDTO login, ContactDTO dto, CancellationToken ct = default); Task> GetPartyProductAsync( LoginDTO login, long partyId, CancellationToken ct = default); Task SavePartyProduct( LoginDTO login, PartyProductDTO dto, CancellationToken ct = default); #endregion } }