Beispiel #1
0
 public OrdersController(OrdersFacade ordersFacade, OrderCreationFacade orderCreationFacade, OrderPriceCalculationFacade orderPriceCalculationFacade, EventsCache eventsCache, DocumentStorageService documentStorageService)
 {
     this.ordersFacade                = ordersFacade;
     this.orderCreationFacade         = orderCreationFacade;
     this.orderPriceCalculationFacade = orderPriceCalculationFacade;
     this.eventsCache            = eventsCache;
     this.documentStorageService = documentStorageService;
 }
        public static void Create(EventsCache events, MarketsCache markets, SelectionsCache selections)
        {
            if (instance != null)
            {
                throw new Exception("Object already created");
            }

            instance = new Lazy <EventsService>(() => new EventsService(events, markets, selections));
        }
Beispiel #3
0
        public void Copy(object original, CopyService copyService)
        {
            var org = (Publisher)original;

            _changeTracker      = copyService.Copy(org._changeTracker);
            _eventsCache        = org._eventsCache;
            _subscribersByEvent = new Dictionary <Type, TrackableList <object> >();

            foreach (var subscriber in org._subscribersByEvent)
            {
                var subscribers = subscriber.Value
                                  .Where(x => IsUiComponent(x) == false)
                                  .Select(copyService.Copy);

                var trackableSubscribers = new TrackableList <object>(subscribers);
                trackableSubscribers.Initialize(_changeTracker);
                _subscribersByEvent.Add(subscriber.Key, trackableSubscribers);
            }
        }
Beispiel #4
0
 public Publisher(Assembly assembly = null, INotifyChangeTracker changeTracker = null, string ns = null)
 {
     assembly       = assembly ?? Assembly.GetExecutingAssembly();
     _eventsCache   = new EventsCache(assembly, ns);
     _changeTracker = changeTracker ?? new ChangeTracker.Guard();
 }
Beispiel #5
0
 public static void SubscribePermanent <T>(this IObservable <EventPattern <T> > observable, Action <T> action)
 {
     EventsCache.Add(observable.Subscribe(pattern => action(pattern.EventArgs)));
 }