public IEnumerable <IEventDetailsPage> SearchEvents(
            IEventPipeline pipeline,
            EventSearchSettings searchSettings)
        {
            Throw.IfNull(searchSettings, nameof(searchSettings));
            Throw.IfNull(pipeline, nameof(pipeline));

            using (var ctx = ContentSearchManager.GetIndex(IndexName).CreateSearchContext())
            {
                var queryable     = ctx.GetQueryable <EventDetailsSearchItem>();
                var searchResults = pipeline.Process(searchSettings, queryable).GetResults();

                if (searchResults != null && searchResults.TotalSearchResults > 0)
                {
                    var data = searchResults.Hits
                               .Where(i => i.Document != null)
                               .Select(i => i.Document);

                    var listResult = new List <IEventDetailsPage>();

                    foreach (var searchItem in data)
                    {
                        listResult.Add(_sitecoreService.GetItem <IEventDetailsPage>(searchItem.GetItem()));
                    }

                    return(listResult);
                }
            }

            return(Enumerable.Empty <IEventDetailsPage>());
        }
        /// <summary>
        /// add a handler with a set of filters to the pipeline
        /// </summary>
        /// <param name="pipeline"></param>
        /// <param name="outputHandler"></param>
        /// <param name="filters"></param>
        public static void AddHandler(this IEventPipeline pipeline, IOutputHandler outputHandler, IEnumerable <string> filters)
        {
            var converter = filters.BuildDataFilter();

            outputHandler = new DataFilterDecorator(converter, outputHandler);
            pipeline.AddHandler(outputHandler);
        }
Exemple #3
0
            private IEventPipeline GetPipeline()
            {
                if (_pipeline == null)
                {
                    _pipeline = _pipelineFactory.Setup();
                }

                return(_pipeline);
            }
Exemple #4
0
        public Task AddAndStartPipeline(EventPipelineKey eventPipelineKey, IEventPipeline eventPipeline)
#endif
        {
            this.Pipelines.Add(eventPipelineKey, eventPipeline);
#if TPL_35
            eventPipeline.StartAsync();
#else
            return(eventPipeline.StartAsync());
#endif
        }
Exemple #5
0
        public SparkApi(IClientFactory clientFactory, IEventPipeline eventPipeline, IDatabase database, IPacketManager packetManager, IGameforgeService gameforgeService,
                        IEnumerable <IPacketProcessor> packetProcessors)
        {
            ClientFactory    = clientFactory;
            EventPipeline    = eventPipeline;
            PacketManager    = packetManager;
            GameforgeService = gameforgeService;
            Database         = database;

            PacketProcessors = packetProcessors;
        }
Exemple #6
0
        public EventSearchService(
            IEventsRepository eventsRepository,
            IEventPipeline eventPipeline,
            ILog logger)
        {
            Throw.IfNull(eventsRepository, nameof(eventsRepository));
            Throw.IfNull(eventPipeline, nameof(eventPipeline));

            _eventsRepository = eventsRepository;
            _eventPipeline    = eventPipeline;
            _logger           = logger;
        }
Exemple #7
0
 static void Main(string[] args)
 {
     if (args.Length != 0 && args[0] == "-server")
     {
         Console.WriteLine("服务端开启");
         server = new EventPipeline(serverSettings);
         server.onSubTransportConnect += (sub) =>
         {
             clientList.Add(sub, string.Format("{0}:{1}", sub.Ip, sub.Port));
             Broadcast(string.Format("欢迎 {0}加入房间", clientList[sub]));
         };
         server.onSubTransportDisconnect += (sub) =>
         {
             string name = clientList[sub];
             clientList.Remove(sub);
             Broadcast(string.Format("{0} 离开房间", name));
         };
         server.AddEvent("SetName", SetName);
         server.AddEvent("Send", SendMessage);
         server.Connect();
     }
     else
     {
         Console.WriteLine("输入你的名字:");
         string name = Console.ReadLine();
         client = new EventPipeline(clientSettings);
         client.AddEvent("Output", OutputMessage);
         client.onConnect += (transport) =>
         {
             client.Invoke("SetName", new object[] { name });
             while (true)
             {
                 string mes = Console.ReadLine();
                 client.Invoke("Send", new object[] { mes });
             }
         };
         client.Connect();
     }
 }
        /// <summary>
        /// Demo init.
        /// </summary>
        private static void Init()
        {
            Paging.Try1();

            /*
             * var config = Saritasa.Tools.Messages.Configuration.XmlConfiguration.AppConfig;
             * CommandPipeline = (ICommandPipeline)config.First();
             */

            // We will use in memory repository.
            inMemoryMessageRepository = new InMemoryMessageRepository();

            // Create command pipeline manually.
            CommandPipeline = new CommandPipeline();
            CommandPipeline.AddMiddlewares(
                new CommandValidationMiddleware(),
                new CommandHandlerLocatorMiddleware(Assembly.GetEntryAssembly()),
                new CommandHandlerExecutorMiddleware(),
                new RepositoryMiddleware(inMemoryMessageRepository)
                );

            // Create query pipeline manually.
            QueryPipeline = new QueryPipeline();
            QueryPipeline.AddMiddlewares(
                new QueryObjectResolverMiddleware(),
                new QueryExecutorMiddleware(),
                new RepositoryMiddleware(inMemoryMessageRepository)
                );

            // Create event pipeline manually.
            EventPipeline = new EventPipeline();
            EventPipeline.AddMiddlewares(
                new EventHandlerLocatorMiddleware(Assembly.GetEntryAssembly()),
                new EventHandlerExecutorMiddleware(),
                new RepositoryMiddleware(inMemoryMessageRepository)
                );
        }
Exemple #9
0
 public OkProcessor(IEventPipeline eventPipeline) => this.eventPipeline = eventPipeline;
Exemple #10
0
 public bool Match(IEventPipeline pipeline)
 {
     throw new NotImplementedException();
 }
Exemple #11
0
 public InProcessor(IEventPipeline eventPipeline, IEntityFactory entityFactory)
 {
     this.eventPipeline = eventPipeline;
     this.entityFactory = entityFactory;
 }
Exemple #12
0
 public QNamliProcessor(IEventPipeline eventPipeline) => this.eventPipeline = eventPipeline;
Exemple #13
0
 public AtProcessor(IMapFactory mapFactory, IEventPipeline eventPipeline)
 {
     this.mapFactory    = mapFactory;
     this.eventPipeline = eventPipeline;
 }
Exemple #14
0
 public FailcProcessor(IEventPipeline eventPipeline) => this.eventPipeline = eventPipeline;
Exemple #15
0
 /// <summary>
 /// Adds and starts an event pipeline.
 /// </summary>
 /// <param name="eventPipelineKey">The event pipeline key.</param>
 /// <param name="eventPipeline">The event pipeline.</param>
 /// <returns>A task that runs while the pipeline is active.</returns>
 public Task AddAndStartPipeline(EventPipelineKey eventPipelineKey, IEventPipeline eventPipeline)
 {
     this.Pipelines.Add(eventPipelineKey, eventPipeline);
     return(eventPipeline.StartAsync());
 }
Exemple #16
0
 public BfProcessor(IBuffFactory buffFactory, IEventPipeline eventPipeline)
 {
     this.buffFactory   = buffFactory;
     this.eventPipeline = eventPipeline;
 }
Exemple #17
0
        /// <summary>
        /// Adds and starts an event pipeline.
        /// </summary>
        /// <param name="eventPipelineKey">The event pipeline key.</param>
        /// <param name="eventPipeline">The event pipeline.</param>
        /// <returns>A task that runs while the pipeline is active.</returns>
#if TPL_35
        public void AddAndStartPipeline(EventPipelineKey eventPipelineKey, IEventPipeline eventPipeline)
Exemple #18
0
 public CModeProcessor(IEventPipeline eventPipeline) => this.eventPipeline = eventPipeline;
Exemple #19
0
 public RestProcessor(IEventPipeline eventPipeline)
 {
     this.eventPipeline = eventPipeline;
 }