using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using GxPress.Entity.Middle;
using GxPress.Request.Notice;
using SqlKata;
using Datory;
using GxPress.Request.App.Middle;
namespace GxPress.Repository.Interface
{
public interface IMiddleRepository : IRepository
{
///
/// 递归获取父级下面的所有子集
///
///
///
///
Task> GetAllMiddleChildrenByParentIdAsync(List ids, List returnIds);
Task InsertAsync(Middle middle);
Task UpdateAsync(SqlKata.Query query);
Task UpdateAsync(Middle middle);
Task> FindAsync(SqlKata.Query query);
Task DeleteAsync(SqlKata.Query query);
Task GetMiddleAsync(Query query);
Task GetMiddleAsync(int id);
Task SetSortAsync(MiddleSortRequest request);
Task SetTopAsync(int id);
///
/// 删除
///
///
///
Task DeleteAsync(NoticeDeRequest request);
///
/// 阅读
///
///
///
Task ReadAsync(int id);
///
/// 恢复删除
///
///
///
Task RecoverDeleteAsync(NoticeDeRequest request);
Task UpdateFolderNameAsync(MiddleFolderNameRequest request);
Task IsFolderAsync(int parentId);
///
/// 根据用户ID文件夹ID查询小组数量
///
///
///
///
///
Task FindGroupCountAsync(int userId, int folderId, int folderTypeId);
///
///
///
///
///
Task CountAsync(SqlKata.Query query);
///
/// 添加
///
///
///
Task InsertAsync(List middles);
Task> GetAllAsync(SqlKata.Query query);
///
/// 获取下级数据
///
///
///
Task> GetMiddleChildrenAsync(int id);
}
}