public void Post(UIRequest request) { if (request == null) { throw new ArgumentNullException("request"); } if (request.Id == null) { throw new ArgumentException(@"Request must have an Id.", "request"); } if (request.Request == null) { throw new ArgumentException(@"Request must have a typed request.", "request"); } var operation = new DelayedOperation { Id = request.Id, Delay = request.Delay, // Action executed on a background thread when delay has expired. Action = () => { if (request.OnSend != null) { Logger.WrapActionInvocation(request.OnSend); } _typedRequestProcessProxy.RunAsync(request.Request, response => OnRequestSuccess(request, response), errorResponse => OnRequestError(request, errorResponse)); }, }; _delayedOperationProcessor.Post(operation); }
public void Post(UIRequest request) { if (request == null) { throw new ArgumentNullException("request"); } if (request.Id == null) { throw new ArgumentException(@"Request must have an Id.", "request"); } if (request.TypedRequest == null) { throw new ArgumentException(@"Request must have a typed request.", "request"); } var operation = new DelayedOperation { Id = request.Id, Delay = request.Delay, Action = () => { if (request.OnBeforeRun != null) { Logger.WrapActionInvocation(request.OnBeforeRun); } _typedRequestProcessProxy.RunAsync(request.TypedRequest, response => OnRequestSuccess(request, response), errorResponse => OnRequestError(request, errorResponse)); } }; _delayedOperationProcessor.Post(operation); }
private void OnRequestSuccess(UIRequest request, TypedResponse response) { if (request.OnReceive != null) Logger.WrapActionInvocation(request.OnReceive); if (request.OnSuccess != null) { _synchronizationContextProvider.UIContext.Post(() => request.OnSuccess(response)); } }
private void OnRequestSuccess(UIRequest request, TypedResponse response) { if (request.OnReceive != null) { Logger.WrapActionInvocation(request.OnReceive); } if (request.OnSuccess != null) { _synchronizationContextProvider.UIContext.Post(() => request.OnSuccess(response)); } }
private void OnRequestError(UIRequest request, ErrorResponse errorResponse) { if (request.OnReceive != null) Logger.WrapActionInvocation(request.OnReceive); if (request.OnError != null) { _synchronizationContextProvider.UIContext.Post(() => { if (errorResponse.IsOperationCanceled()) { // UIRequest are cancelable at any point. } else { request.OnError(errorResponse); } }); } }
private void OnRequestError(UIRequest request, ErrorResponse errorResponse) { if (request.ErrorCallback != null || request.OnAfterRun != null) { _synchronizationContextProvider.UIContext.Post(() => { if (request.OnAfterRun != null) request.OnAfterRun(); if (request.ErrorCallback != null) if (errorResponse.IsOperationCanceled()) { // UIRequest are cancelable at any point. } else { request.ErrorCallback(errorResponse); } }); } }
private void OnRequestSuccess(UIRequest request, TypedResponse response) { if (request.SuccessCallback != null || request.OnAfterRun != null) { _synchronizationContextProvider.UIContext.Post(() => { if (request.OnAfterRun != null) { request.OnAfterRun(); } if (request.SuccessCallback != null) { request.SuccessCallback(response); } }); } }
public void OnDocumentOpen(ITextDocument document) { var path = document.FilePath; if (!IsPhysicalFile(path)) return; var request = new UIRequest { Id = "AddFileNameRequest-" + path, TypedRequest = new AddFileNameRequest { FileName = path } }; _uiRequestProcessor.Post(request); }
private void OnRequestError(UIRequest request, ErrorResponse errorResponse) { if (request.OnReceive != null) { Logger.WrapActionInvocation(request.OnReceive); } if (request.OnError != null) { _synchronizationContextProvider.UIContext.Post(() => { if (errorResponse.IsOperationCanceled()) { // UIRequest are cancelable at any point. } else { request.OnError(errorResponse); } }); } }
private void OnRequestError(UIRequest request, ErrorResponse errorResponse) { if (request.ErrorCallback != null || request.OnAfterRun != null) { _synchronizationContextProvider.UIContext.Post(() => { if (request.OnAfterRun != null) { request.OnAfterRun(); } if (request.ErrorCallback != null) { if (errorResponse.IsOperationCanceled()) // UIRequest are cancelable at any point. { } else { request.ErrorCallback(errorResponse); } } }); } }
public void Post(UIRequest request) { if (request == null) throw new ArgumentNullException("request"); if (request.Id == null) throw new ArgumentException(@"Request must have an Id.", "request"); if (request.TypedRequest == null) throw new ArgumentException(@"Request must have a typed request.", "request"); var operation = new DelayedOperation { Id = request.Id, Delay = request.Delay, Action = () => { if (request.OnBeforeRun != null) Logger.WrapActionInvocation(request.OnBeforeRun); _typedRequestProcessProxy.RunAsync(request.TypedRequest, response => OnRequestSuccess(request, response), errorResponse => OnRequestError(request, errorResponse)); } }; _delayedOperationProcessor.Post(operation); }
public void Post(UIRequest request) { if (request == null) throw new ArgumentNullException("request"); if (request.Id == null) throw new ArgumentException(@"Request must have an Id.", "request"); if (request.Request == null) throw new ArgumentException(@"Request must have a typed request.", "request"); var operation = new DelayedOperation { Id = request.Id, Delay = request.Delay, // Action executed on a background thread when delay has expired. Action = () => { if (request.OnSend != null) Logger.WrapActionInvocation(request.OnSend); _typedRequestProcessProxy.RunAsync(request.Request, response => OnRequestSuccess(request, response), errorResponse => OnRequestError(request, errorResponse)); }, }; _delayedOperationProcessor.Post(operation); }
private void RefreshFileSystemTree() { var uiRequest = new UIRequest { Request = new RefreshFileSystemTreeRequest(), Id = "RefreshFileSystemTreeRequest", Delay = TimeSpan.FromSeconds(0.0), }; _uiRequestProcessor.Post(uiRequest); }
private void LoadFileExtracts() { var positions = GetChildren() .OfType<FilePositionViewModel>() .ToList(); if (!positions.Any()) return; var request = new GetFileExtractsRequest { FileName = Path, Positions = positions .Select(x => new FilePositionSpan { Position = x.Position, Length = x.Length }) .ToList() }; var uiRequest = new UIRequest() { TypedRequest = request, Id = "FileEntryViewModel-" + Path, Delay = TimeSpan.FromSeconds(0.0), SuccessCallback = (typedResponse) => { var response = (GetFileExtractsResponse)typedResponse; positions .Zip(response.FileExtracts, (x, y) => new { FilePositionViewModel = x, FileExtract = y }) .Where(x => x.FileExtract != null) .ForAll(x => x.FilePositionViewModel.SetTextExtract(x.FileExtract)); } }; this.Host.UIRequestProcessor.Post(uiRequest); }
private void OnRequestSuccess(UIRequest request, TypedResponse response) { if (request.SuccessCallback != null || request.OnAfterRun != null) { _synchronizationContextProvider.UIContext.Post(() => { if (request.OnAfterRun != null) request.OnAfterRun(); if (request.SuccessCallback != null) request.SuccessCallback(response); }); } }
private void SendRegisterFileRequest(string path) { if (!IsPhysicalFile(path)) return; var request = new UIRequest { Id = "RegisterFileRequest-" + path, Request = new RegisterFileRequest { FileName = path } }; _uiRequestProcessor.Post(request); }
private void SendUnregisterFileRequest(string path) { if (!IsValidPath(path)) return; var request = new UIRequest { Id = "UnregisterFileRequest-" + path, Request = new UnregisterFileRequest { FileName = path } }; _uiRequestProcessor.Post(request); }