Пример #1
0
        private IObservable <OrderEvent> Subscribe(ResolveEventStreamContext context)
        {
            var statusList = context.GetArgument <IList <OrderStatuses> >("statuses", new List <OrderStatuses>());

            if (statusList.Any())
            {
                var statuses = statusList.Aggregate((finalStatuses, status) => finalStatuses | status);

                return(_events.EventStream()
                       .Where(objectEvent => (objectEvent.Status & statuses) == objectEvent.Status));
            }

            return(_events.EventStream());
        }
        private IObservable <OrderEvent> Subscribe(ResolveEventStreamContext context)
        {
            var statusList = context.GetArgument <IList <OrderStatuses> >("statuses", new List <OrderStatuses>());

            if (statusList.Count > 0)
            {
                OrderStatuses statuses = 0;
                foreach (var status in statusList)
                {
                    statuses = statuses | status;
                }
                return(_events.EventStream().Where(e => (e.Status & statuses) == e.Status));
            }
            else
            {
                return(_events.EventStream());
            }
        }
Пример #3
0
        private IObservable <OrderEvent> Subscribe(ResolveEventStreamContext context)
        {
            var statusList =
                context.GetArgument <IList <OrderStatusesEnum> >("statuses", new List <OrderStatusesEnum>());

            if (statusList.Count > 0)
            {
                OrderStatusesEnum statuses = 0;

                foreach (var status in statusList)
                {
                    statuses = statuses | status;
                }

                return(_eventService.EventStream().Where(x => (x.Status & statuses) == x.Status));
            }

            return(_eventService.EventStream());
        }
Пример #4
0
 private IObservable <OrderEvent> SubscribeClosed(IResolveEventStreamContext context)
 {
     return(_events.EventStream());
 }