/// <summary> /// 获取所有暂停任务 /// </summary> /// <param name="keys"></param> public async Task <List <DownloadStatusModel> > TellWaiting(List <Expression <Func <DownloadStatusModel, object> > > keys = null) { var strKeys = new List <string>(); if (keys != null) { keys.ForEach(key => { MemberInitExpression init = key.Body as MemberInitExpression; strKeys.AddRange(init.Bindings.Select(p => p.Member.Name)); }); } var res = new TellWaitingResponse(await _client.SendRequestAsync(new TellWaitingRequest { Keys = strKeys })); return(res?.Info); }
/// <summary> /// 获取指定范围的暂停任务 /// </summary> /// <param name="startIndex"></param> /// <param name="takeCount"></param> /// <param name="keys"></param> public async Task <List <DownloadStatusModel> > TellWaiting(int startIndex, int takeCount, Expression <Func <DownloadStatusModel, DownloadStatusModel> > keys = null) { var strKeys = new List <string>(); if (keys != null) { MemberInitExpression init = keys.Body as MemberInitExpression; strKeys.AddRange(init.Bindings.Select(p => p.Member.Name)); } var res = new TellWaitingResponse(await _client.SendRequestAsync(new TellWaitingRequest { Offset = startIndex, Num = takeCount, Keys = strKeys })); return(res?.Info); }