using Hotline.Share.Dtos.Special;
using SqlSugar;

namespace Hotline.Application.SpecialNumber
{
    public interface ISpecialNumberApplication
    {
        #region 特殊号码

        /// <summary>
        /// 特殊号码 - 列表
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        ISugarQueryable<Hotline.Special.SpecialNumber> QueryAllSpecialNumberListAsync(SpecialNumberDto dto);

        /// <summary>
        /// 特殊号码 - 新增
        /// </summary>
        /// <param name="dto"></param>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        Task<string> AddSpecialNumberAsync(AddSpecialNumberDto dto, CancellationToken cancellationToken);

        /// <summary>
        ///特殊号码 - 编辑
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task UpdateSpecialNumberAsync(UpdateSpecialNumberDto dto, CancellationToken cancellationToken);

        /// <summary>
        ///特殊号码 - 删除
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task RemoveSpecialNumberAsync(DelSpecialNumberDto dto, CancellationToken cancellationToken);

        /// <summary>
        ///特殊号码 - 详情
        /// </summary>
        /// <param name="Id"></param>
        /// <returns></returns>
        Task<SpecialNumberInfoDto> GetSpecialNumberAsync(string Id, CancellationToken cancellationToken);

        /// <summary>
        ///特殊号码 - 详情
        /// </summary>
        /// <param name="PhoneNumber"></param>
        /// <returns></returns>
        Task<SpecialNumberInfoDto> GetSpecialNumberByAsync(string PhoneNumber, CancellationToken cancellationToken);

        #endregion
    }
}
