using System.Collections.Generic;
using System.Threading.Tasks;
using GxPress.Request.App.OftenContact;
using GxPress.Result.App.OftenContact;

namespace GxPress.Service.Interface.OftenContact
{
    public interface IOftenContactService: IService
    {
        /// <summary>
        /// 删除
        /// </summary>
        /// <returns></returns>
        Task<bool> DeleteAsync(int id);
        /// <summary>
        /// 根据文件ID获取用户和下面的数据
        /// </summary>
        /// <param name="individualGroupId"></param>
        /// <returns></returns>
        Task<IEnumerable<OftenContactInfo>> GetOftenContacts(OftenContactSearchRequest request);
         /// <summary>
        ///获取用户的所有聊天界面
        /// </summary>
        /// <param name="individualGroupId"></param>
        /// <returns></returns>
        Task<IEnumerable<OftenContactInfo>> GetOftenContactsAll(OftenContactSearchRequest request);
        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        Task<OftenContactDto> InsertAsync(OftenContactInRequest request, int userId);

        /// <summary>
        /// 修改黑名单
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="blackUserId"></param>
        /// <returns></returns>
        Task<bool> SetBlackUserAsync(int userId, int blackUserId);
    }
}
