/// <summary> /// /// </summary> /// <param name="requests"></param> /// <param name="progCallback"></param> /// <param name="completeCallback"></param> public AsyncBatchRequest(ICollection<IRequest> requests, AsyncBatchProgressCallback progCallback, AsyncBatchCompletedCallback completeCallback) { requestCompletedCount = 0; requestCount = requests.Count; ProgressUpdate += progCallback; BatchCompleted += completeCallback; foreach (IRequest req in requests) ((BaseRequest) req).RequestCompleted += InternalRequestCompleted; Requests.AddRange(requests); }
/// <summary> /// Submits an Examine request for each folder to store its message count data /// </summary> public void PopulateFolderData(AsyncBatchProgressCallback progCallback, AsyncBatchCompletedCallback completedCallback) { List <IRequest> requests = new List <IRequest>(); foreach (IFolder folder in GetAllFolders()) { requests.Add(new FolderDataRequest(folder, null)); //requests.Add(new MessageListRequest(folder, null)); } AsyncBatchRequest abr = new AsyncBatchRequest(requests.ToArray(), progCallback, completedCallback); _client.RequestManager.SubmitAsyncBatchRequest(abr, false); }
/// <summary> /// /// </summary> /// <param name="requests"></param> /// <param name="progCallback"></param> /// <param name="completeCallback"></param> public AsyncBatchRequest(ICollection <IRequest> requests, AsyncBatchProgressCallback progCallback, AsyncBatchCompletedCallback completeCallback) { requestCompletedCount = 0; requestCount = requests.Count; ProgressUpdate += progCallback; BatchCompleted += completeCallback; foreach (IRequest req in requests) { ((BaseRequest)req).RequestCompleted += InternalRequestCompleted; } Requests.AddRange(requests); }
/// <summary> /// Submits an Examine request for each folder to store its message count data /// </summary> public void PopulateFolderData(AsyncBatchProgressCallback progCallback, AsyncBatchCompletedCallback completedCallback) { List<IRequest> requests = new List<IRequest>(); foreach (IFolder folder in GetAllFolders()) { requests.Add(new FolderDataRequest(folder, null)); //requests.Add(new MessageListRequest(folder, null)); } AsyncBatchRequest abr = new AsyncBatchRequest(requests.ToArray(), progCallback, completedCallback); _client.RequestManager.SubmitAsyncBatchRequest(abr, false); }