Exemple #1
0
        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);
        }
Exemple #2
0
        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));
      }
    }
Exemple #4
0
        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);
            }
            });
              }
        }
Exemple #7
0
 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);
             }
         });
     }
 }
Exemple #8
0
        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);
        }
Exemple #9
0
        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);
                    }
                });
            }
        }
Exemple #10
0
        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);
    }
Exemple #14
0
        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);
    }