using Fake.Domain.Repositories; using Oms.Domain.ChannelsAggregate.Entities; namespace Oms.Domain.ChannelsAggregate.Repositories; public interface IServiceChannelRepository : IRepository { Task GetByChannelCodeAsync(string channelCode, CancellationToken cancellationToken = default); Task HasChannelCodeAsync(string channelCode, CancellationToken cancellationToken = default); Task> GetGroupsAsync(CancellationToken cancellationToken = default); Task> GetPricesAsync(int serviceChannelId, CancellationToken cancellationToken = default); Task GetPriceByIdAsync(int id, CancellationToken cancellationToken = default); Task> GetPriceFactorsAsync(IEnumerable priceIds, CancellationToken cancellationToken = default); Task> GetPriceDetailsAsync(IEnumerable priceIds, CancellationToken cancellationToken = default); Task InsertPriceAsync( ServiceChannelPrice price, IEnumerable factors, IEnumerable details, CancellationToken cancellationToken = default); Task UpdatePriceAsync( ServiceChannelPrice price, IEnumerable factors, IEnumerable details, CancellationToken cancellationToken = default); Task DeletePriceAsync(int id, CancellationToken cancellationToken = default); Task UpdatePriceStatusAsync(int id, Oms.Domain.Shared.Enums.EnableStatus status, CancellationToken cancellationToken = default); Task ReplacePricesAsync( int serviceChannelId, IEnumerable prices, IEnumerable factors, IEnumerable details, CancellationToken cancellationToken = default); Task> GetPublishRecordsAsync(int serviceChannelId, string operatorType, int pageIndex, int pageSize, CancellationToken cancellationToken = default); Task CountPublishRecordsAsync(int serviceChannelId, string operatorType, CancellationToken cancellationToken = default); Task InsertPublishRecordAsync(ServiceChannelPublishRecord record, CancellationToken cancellationToken = default); Task GetPublishRecordByIdAsync(int id, CancellationToken cancellationToken = default); Task GetEffectivePublishRecordAsync( int serviceChannelId, string operatorType, DateTime bindTime, CancellationToken cancellationToken = default); }