using System.Collections.Generic;
using System.Threading.Tasks;
using GxPress.Entity.WorkFlow;
using GxPress.Request.App.Flow;
using Datory;
using GxPress.Entity.WorkMeeting;
using GxPress.Request.App.WorkMeeting;

namespace GxPress.Repository.Interface.WorkMeeting
{
    public interface IMeetingRepository : IRepository
    {
        Task<int> InsertAsync(Meeting item);

        Task<bool> UpdateAsync(Meeting item);

        Task<IEnumerable<Meeting>> GetCurrentListAsync(int userId, string keyword);

        Task<IEnumerable<Meeting>> GetHistoryListAsync(int userId, string keyword,int page=1,int perPage=10);

        Task<Meeting> GetAsync(int meetingId);

        Task<bool> DeleteAsync(int meetingId);

        Task DeleteByRoomIdAsync(int roomId);
         /// <summary>
        /// 获取会议人员
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        Task<IEnumerable<MeetingUserResult>> GetUserByMeeting(MeetingUsersRequest request);
    }
}