using System; using System.Collections.Generic; using System.Text; using System.Threading.Tasks; using Datory; using GxPress.Common.Page; using GxPress.Request.App.Note; using GxPress.Request.Web; using GxPress.Result.App.Note; using GxPress.Result.Web; namespace GxPress.Repository.Interface.Note { public interface INoteRepository : IRepository { /// <summary> /// 获取笔记 /// </summary> /// <param name="id"></param> /// <returns></returns> Task<Entity.Note.Note> GetAsync(int id); /// <summary> /// 添加笔记 /// </summary> /// <param name="note"></param> /// <returns></returns> Task<int> InsertAsync(Entity.Note.Note note); /// <summary> /// 修改笔记 /// </summary> /// <param name="note"></param> /// <returns></returns> Task<bool> UpdateAsync(Entity.Note.Note note); /// <summary> /// 获取笔记分页 /// </summary> /// <param name="request"></param> /// <returns></returns> Task<PagedList<NotePageListRequest>> NotePageListAsync(NoteSearchPageListRequest request); Task<bool> DeleteAsync(SqlKata.Query query); Task<bool> DeleteAsync(int id); Task<bool> UpdateAsync(SqlKata.Query query); /// <summary> ///查询个人摘录 /// </summary> /// <param name="request"></param> /// <returns></returns> Task<PagedList<NoteUserExtractResult>> GetAllByUserId(NoteUserRequest request); /// <summary> /// web页面查询话题 /// </summary> /// <param name="request"></param> /// <returns></returns> Task<PagedList<NoteTopicResult>> GetTopicNoteAsync(NoteSearchPageListRequest request); /// <summary> /// 笔记没有文件夹分页 /// </summary> /// <param name="request"></param> /// <returns></returns> Task<PagedList<NoteNotFolderPageResult>> GetNoteNotFolderPageResult(NoteSearchPageListRequest request); /// <summary> /// 设置置顶 /// </summary> /// <param name="noteId"></param> /// <returns></returns> Task<bool> SetIsTopAsync(int noteId); /// <summary> /// 获取用户最近使用的文件夹 /// </summary> /// <param name="userId"></param> /// <returns></returns> Task<IEnumerable<int>> GetLatelyFolderIdAsync(int userId, bool isTopic); /// <summary> /// 获取笔记/话题草稿分页 /// </summary> /// <param name="request"></param> /// <returns></returns> Task<PagedList<NoteNotFolderPageResult>> NoteTopicDraftPageListAsync(NoteSearchPageListRequest request); /// <summary> /// 获取用户是否存在草稿 /// </summary> /// <param name="userId"></param> /// <returns></returns> Task<bool> IsExistsDraftAsync(int userId, bool isTopic); /// <summary> /// 获取用户最新的草稿Id /// </summary> /// <param name="userId"></param> /// <returns></returns> Task<int> GetNoteIdByDraftAsync(int userId, bool isTopic); /// <summary> /// 获取用户最新的草稿Id /// </summary> /// <param name="userId"></param> /// <returns></returns> Task<int> GetDraftCountAsync(int userId, bool isTopic); } }