Ejemplo n.º 1
0
 public void SendEventAsync(TypedEvent typedEvent) {
   var ipcEvent = new IpcEvent {
     RequestId = _requestIdFactory.GetNextId(),
     Protocol = IpcProtocols.TypedMessage,
     Data = typedEvent
   };
   _responseQueue.Enqueue(ipcEvent);
 }
 private void TypedRequestProcessProxy_EventReceived(TypedEvent typedEvent)
 {
     DispatchFileSystemTreeComputing(typedEvent);
     DispatchFileSystemTreeComputed(typedEvent);
     DispatchSearchEngineFilesLoading(typedEvent);
     DispatchSearchEngineFilesLoadingProgress(typedEvent);
     DispatchSearchEngineFilesLoaded(typedEvent);
 }
Ejemplo n.º 3
0
    private void DispatchProgressReport(TypedEvent typedEvent) {
      var progressReportEvent = typedEvent as ProgressReportEvent;
      if (progressReportEvent == null)
        return;

      _synchronizationContextProvider.UIContext.Post(() =>
        _statusBar.ReportProgress(progressReportEvent.DisplayText, progressReportEvent.Completed, progressReportEvent.Total));
    }
        protected virtual void OnEventReceived(TypedEvent obj)
        {
            var handler = EventReceived;

            if (handler != null)
            {
                handler(obj);
            }
        }
Ejemplo n.º 5
0
 private void TypedRequestProcessProxy_OnEventReceived(TypedEvent typedEvent)
 {
     DispatchFileSystemTreeScanStarted(typedEvent);
     DispatchFileSystemTreeScanFinished(typedEvent);
     DispatchSearchEngineFilesLoading(typedEvent);
     DispatchSearchEngineFilesLoadingProgress(typedEvent);
     DispatchSearchEngineFilesLoaded(typedEvent);
     DispatchIndexingStateChanged(typedEvent);
 }
Ejemplo n.º 6
0
 public static void AddPayloadDetailsRow <TPayload>(StringBuilder sb,
                                                    TypedEvent <TPayload> evt)
 {
     foreach (PropertyInfo p in typeof(TPayload).GetProperties())
     {
         object value = p.GetValue(evt.Payload, null);
         sb.AppendFormat("{0} = {1}, ", p.Name, ((value != null) ? value.ToString() : "NULL"));
     }
 }
Ejemplo n.º 7
0
        private Product(TypedEvent <ProductCreated> initialEvent)
        {
            Created     = initialEvent.EventDateTime;
            LastUpdate  = initialEvent.EventDateTime;
            Identifier  = initialEvent.Event.ProductIdentifier;
            ProductName = initialEvent.Event.ProductName;

            RegisterEvent <ProductNameChanged>(ProductNameChangedEventHandler);
        }
Ejemplo n.º 8
0
        public void SendEventAsync(TypedEvent typedEvent)
        {
            var ipcEvent = new IpcEvent {
                RequestId = _requestIdFactory.GetNextId(),
                Protocol  = IpcProtocols.TypedMessage,
                Data      = typedEvent
            };

            _responseQueue.Enqueue(ipcEvent);
        }
        private void DispatchProgressReport(TypedEvent typedEvent)
        {
            var @event = typedEvent as ProgressReportEvent;

            if (@event != null)
            {
                Wpf.WpfUtilities.Post(this,
                                      () => _statusBar.ReportProgress(@event.DisplayText, @event.Completed, @event.Total));
            }
        }
Ejemplo n.º 10
0
 private void ProxyOnEventReceived(TypedEvent typedEvent) {
   var @event = typedEvent as FileSystemTreeComputed;
   if (@event != null) {
     _delayedOperationProcessor.Post(new DelayedOperation {
       Id = "FetchFileSystemTree",
       Delay = TimeSpan.FromSeconds(0.1),
       Action = FetchFileSystemTree
     });
   }
 }
Ejemplo n.º 11
0
        private void DispatchProgressReport(TypedEvent typedEvent)
        {
            var progressReportEvent = typedEvent as ProgressReportEvent;

            if (progressReportEvent == null)
            {
                return;
            }

            _synchronizationContextProvider.DispatchThreadContext.Post(() =>
                                                                       _statusBar.ReportProgress(progressReportEvent.DisplayText, progressReportEvent.Completed, progressReportEvent.Total));
        }
Ejemplo n.º 12
0
        private void DispatchIndexingStateChanged(TypedEvent typedEvent)
        {
            var @event = typedEvent as IndexingServerStateChangedEvent;

            if (@event != null)
            {
                WpfUtilities.Post(_control, () => {
                    Logger.LogInfo("Indexing state has changed to \"{0}\".", @event.ServerStatus);
                    OnIndexingStateChanged();
                });
            }
        }
        private void DispatchSearchEngineFilesLoading(TypedEvent typedEvent)
        {
            var @event = typedEvent as SearchEngineFilesLoading;

            if (@event != null)
            {
                Wpf.WpfUtilities.Post(this, () => {
                    Logger.Log("Search engine is loading files on server.");
                    _progressBarTracker.Start(OperationsIds.FilesLoading, "Loading files contents from file system.");
                });
            }
        }
Ejemplo n.º 14
0
        private void DispatchSearchEngineFilesLoading(TypedEvent typedEvent)
        {
            var evt = typedEvent as SearchEngineFilesLoading;

            if (evt != null)
            {
                WpfUtilities.Post(_control, () => {
                    Logger.LogInfo("Search engine is loading file database on server.");
                    _progressBarTracker.Start(OperationsIds.FilesLoading, "Loading files contents from file system.");
                });
            }
        }
Ejemplo n.º 15
0
        private void DispatchSearchEngineFilesLoadingProgress(TypedEvent typedEvent)
        {
            var evt = typedEvent as SearchEngineFilesLoadingProgress;

            if (evt != null)
            {
                WpfUtilities.Post(_control, () => {
                    OnFilesLoadingProgress();
                    Logger.LogInfo("Search engine has produced intermediate file database index on server.");
                });
            }
        }
Ejemplo n.º 16
0
        private void ProxyOnEventReceived(TypedEvent typedEvent)
        {
            var @event = typedEvent as FileSystemTreeComputed;

            if (@event != null)
            {
                _delayedOperationProcessor.Post(new DelayedOperation {
                    Id     = "FetchFileSystemTree",
                    Delay  = TimeSpan.FromSeconds(0.1),
                    Action = FetchFileSystemTree
                });
            }
        }
Ejemplo n.º 17
0
        private void DispatchFileSystemTreeScanStarted(TypedEvent typedEvent)
        {
            var @event = typedEvent as FileSystemScanStarted;

            if (@event != null)
            {
                WpfUtilities.Post(_control, () => {
                    Logger.LogInfo("FileSystemTree is being computed on server.");
                    _progressBarTracker.Start(OperationsIds.FileSystemScanning,
                                              "Loading files and directory names from file system.");
                    OnFileSystemTreeScanStarted();
                });
            }
        }
        private void DispatchFileSystemTreeComputing(TypedEvent typedEvent)
        {
            var @event = typedEvent as FileSystemTreeComputing;

            if (@event != null)
            {
                Wpf.WpfUtilities.Post(this, () => {
                    Logger.Log("FileSystemTree is being computed on server.");
                    _progressBarTracker.Start(OperationsIds.FileSystemTreeComputing,
                                              "Loading files and directory names from file system.");
                    ViewModel.FileSystemTreeComputing();
                });
            }
        }
Ejemplo n.º 19
0
        private void ProxyOnEventReceived(TypedEvent typedEvent)
        {
            var evt = typedEvent as FileSystemScanFinished;

            if (evt != null)
            {
                if (evt.Error == null)
                {
                    _delayedOperationExecutor.Post(new DelayedOperation {
                        Id     = "FetchFileSystemTree",
                        Delay  = TimeSpan.FromSeconds(0.1),
                        Action = FetchFileSystemTree
                    });
                }
            }
        }
Ejemplo n.º 20
0
        private void DispatchFileSystemTreeScanFinished(TypedEvent typedEvent)
        {
            var evt = typedEvent as FileSystemScanFinished;

            if (evt != null)
            {
                WpfUtilities.Post(_control, () => {
                    _progressBarTracker.Stop(OperationsIds.FileSystemScanning);
                    if (evt.IsReportableError())
                    {
                        ReportServerError(evt.Error);
                        return;
                    }
                    Logger.LogInfo("New FileSystemTree bas been computed on server: version={0}.", evt.NewVersion);
                });
            }
        }
Ejemplo n.º 21
0
        private void DispatchFileSystemTreeComputed(TypedEvent typedEvent)
        {
            var @event = typedEvent as FileSystemTreeComputed;

            if (@event != null)
            {
                WpfUtilities.Post(this, () => {
                    _progressBarTracker.Stop(OperationsIds.FileSystemTreeComputing);
                    if (@event.Error != null)
                    {
                        Controller.OnFileSystemTreeError(@event.Error);
                        return;
                    }
                    Logger.LogInfo("New FileSystemTree bas been computed on server: version={0}.", @event.NewVersion);
                });
            }
        }
        private void DispatchSearchEngineFilesLoaded(TypedEvent typedEvent)
        {
            var @event = typedEvent as SearchEngineFilesLoaded;

            if (@event != null)
            {
                Wpf.WpfUtilities.Post(this, () => {
                    _progressBarTracker.Stop(OperationsIds.FilesLoading);
                    if (@event.Error != null)
                    {
                        ViewModel.SetErrorResponse(@event.Error);
                        return;
                    }
                    Logger.Log("Search engine is done loading files on server.");
                });
            }
        }
Ejemplo n.º 23
0
        /// <summary>
        /// Given an untyped PointEvent generate a textual representation suitable for console,
        /// trace, etc, output.
        /// </summary>
        /// <param name="currEvent">An untyped PointEvent</param>
        /// <returns>A formatted string of the contents of the PointEvent</returns>
        public static string FormatEventForDisplay <TPayload>(this TypedEvent <TPayload> evt,
                                                              bool verbose)
        {
            StringBuilder  sb        = new StringBuilder();
            DateTimeOffset startTime = DateTimeOffset.MinValue;
            DateTimeOffset endTime   = DateTimeOffset.MinValue;

            if (evt is PointEvent <TPayload> )
            {
                startTime = ((PointEvent <TPayload>)evt).StartTime;
                sb.AppendFormat("POINT({0}) ", startTime.ToString("hh:mm:ss.fff"));
            }

            if (evt is IntervalEvent <TPayload> )
            {
                startTime = ((IntervalEvent <TPayload>)evt).StartTime;
                endTime   = ((IntervalEvent <TPayload>)evt).EndTime;
                sb.AppendFormat("INTERVAL({0} - {1}) ",
                                startTime.ToString("hh:mm:ss.fff"),
                                endTime.ToString("hh:mm:ss.fff"));
            }

            if (evt is EdgeEvent <TPayload> )
            {
                startTime = ((EdgeEvent <TPayload>)evt).StartTime;
                endTime   = DateTimeOffset.MaxValue;
                sb.AppendFormat("EDGE({0} - ?) ",
                                startTime.ToString("hh:mm:ss.fff"));
            }

            if (EventKind.Cti == evt.EventKind)
            {
                sb.AppendFormat(" CTI - start time: {0}", startTime);
            }
            else if (verbose)
            {
                AddPayloadDetailsList <TPayload>(sb, evt);
            }
            else
            {
                AddPayloadDetailsRow <TPayload>(sb, evt);
            }

            return(sb.ToString());
        }
Ejemplo n.º 24
0
        private void DispatchSearchEngineFilesLoaded(TypedEvent typedEvent)
        {
            var evt = typedEvent as SearchEngineFilesLoaded;

            if (evt != null)
            {
                WpfUtilities.Post(_control, () => {
                    _progressBarTracker.Stop(OperationsIds.FilesLoading);
                    OnFilesLoaded(evt.TreeVersion);
                    if (evt.IsReportableError())
                    {
                        ReportServerError(evt.Error);
                        return;
                    }
                    Logger.LogInfo("Search engine is done loading file database on server.");
                });
            }
        }
        private void DispatchFileSystemTreeComputed(TypedEvent typedEvent)
        {
            var @event = typedEvent as FileSystemTreeComputed;

            if (@event != null)
            {
                Wpf.WpfUtilities.Post(this, () => {
                    _progressBarTracker.Stop(OperationsIds.FileSystemTreeComputing);
                    if (@event.Error != null)
                    {
                        ViewModel.SetErrorResponse(@event.Error);
                        return;
                    }
                    Logger.Log("New FileSystemTree bas been computed on server: version={0}.", @event.NewVersion);
                    FetchFilesystemTree();
                });
            }
        }
Ejemplo n.º 26
0
        private void DispatchSearchEngineFilesLoaded(TypedEvent typedEvent)
        {
            var @event = typedEvent as SearchEngineFilesLoaded;

            if (@event != null)
            {
                WpfUtilities.Post(this, () => {
                    _progressBarTracker.Stop(OperationsIds.FilesLoading);
                    Controller.OnFilesLoaded(@event.TreeVersion);
                    if (@event.Error != null)
                    {
                        Controller.OnFileSystemTreeError(@event.Error);
                        return;
                    }
                    Logger.LogInfo("Search engine is done loading file database on server.");
                });
            }
        }
Ejemplo n.º 27
0
        private Order(TypedEvent <OrderCreated> initialEvent)
        {
            _orderLines = new OrderLineCollection(this);

            Created    = initialEvent.EventDateTime;
            LastUpdate = initialEvent.EventDateTime;

            OrderIdentifier    = initialEvent.Event.OrderIdentifier;
            CustomerIdentifier = initialEvent.Event.CustomerIdentifier;
            CustomerName       = initialEvent.Event.CustomerIdentifier.ToString();

            RegisterEvent <OrderCustomerNameChanged>(OrderCustomerNameChangedEventHandler);

            // OrderLines
            RegisterEvent <OrderLineCreated>(OrderLineCreatedEventHandler);
            RegisterEvent <OrderLineRemoved>(OrderLineRemovedEventHandler);
            RegisterEvent <OrderLineQuantityAdjusted>(e => e.ForwardTo(_orderLines.Get(e.Event.OrderLineIdentifier)));
        }
Ejemplo n.º 28
0
 protected virtual void OnEventReceived(TypedEvent obj)
 {
     EventReceived?.Invoke(obj);
 }
Ejemplo n.º 29
0
 private void DispatchSearchEngineFilesLoading(TypedEvent typedEvent) {
   var @event = typedEvent as SearchEngineFilesLoading;
   if (@event != null) {
     Wpf.WpfUtilities.Post(this, () => {
       Controller.OnFilesLoading();
       Logger.LogInfo("Search engine is loading file database on server.");
       _progressBarTracker.Start(OperationsIds.FilesLoading, "Loading files contents from file system.");
     });
   }
 }
Ejemplo n.º 30
0
 private void TypedRequestProcessProxy_EventReceived(TypedEvent typedEvent)
 {
     DispatchProgressReport(typedEvent);
 }
Ejemplo n.º 31
0
 private void TypedRequestProcessProxy_OnEventReceived(TypedEvent typedEvent)
 {
 }
Ejemplo n.º 32
0
 private void TypedRequestProcessProxy_EventReceived(TypedEvent typedEvent) {
   DispatchFileSystemTreeComputing(typedEvent);
   DispatchFileSystemTreeComputed(typedEvent);
   DispatchSearchEngineFilesLoading(typedEvent);
   DispatchSearchEngineFilesLoadingProgress(typedEvent);
   DispatchSearchEngineFilesLoaded(typedEvent);
 }
Ejemplo n.º 33
0
 private void DispatchSearchEngineFilesLoaded(TypedEvent typedEvent) {
   var @event = typedEvent as SearchEngineFilesLoaded;
   if (@event != null) {
     WpfUtilities.Post(this, () => {
       _progressBarTracker.Stop(OperationsIds.FilesLoading);
       Controller.OnFilesLoaded(@event.TreeVersion);
       if (@event.Error != null) {
         Controller.OnFileSystemTreeError(@event.Error);
         return;
       }
       Logger.LogInfo("Search engine is done loading file database on server.");
     });
   }
 }
Ejemplo n.º 34
0
 private void DispatchSearchEngineFilesLoadingProgress(TypedEvent typedEvent) {
   var @event = typedEvent as SearchEngineFilesLoadingProgress;
   if (@event != null) {
     Wpf.WpfUtilities.Post(this, () => {
       Controller.OnFilesLoadingProgress();
       Logger.LogInfo("Search engine has produced intermediate file database index on server.");
     });
   }
 }
Ejemplo n.º 35
0
 private void TypedRequestProcessProxy_EventReceived(TypedEvent typedEvent) {
   DispatchProgressReport(typedEvent);
 }
Ejemplo n.º 36
0
 private void DispatchFileSystemTreeComputing(TypedEvent typedEvent) {
   var @event = typedEvent as FileSystemTreeComputing;
   if (@event != null) {
     WpfUtilities.Post(this, () => {
       Logger.LogInfo("FileSystemTree is being computed on server.");
       _progressBarTracker.Start(OperationsIds.FileSystemTreeComputing,
                                 "Loading files and directory names from file system.");
       Controller.OnFileSystemTreeComputing();
     });
   }
 }
Ejemplo n.º 37
0
 private void DispatchFileSystemTreeComputed(TypedEvent typedEvent) {
   var @event = typedEvent as FileSystemTreeComputed;
   if (@event != null) {
     WpfUtilities.Post(this, () => {
       _progressBarTracker.Stop(OperationsIds.FileSystemTreeComputing);
       if (@event.Error != null) {
         Controller.OnFileSystemTreeError(@event.Error);
         return;
       }
       Logger.LogInfo("New FileSystemTree bas been computed on server: version={0}.", @event.NewVersion);
     });
   }
 }