Beispiel #1
0
        public ProximityDetectedEventProcessor(
            ILogger <ProximityDetectedEventProcessor> logger,
            IRealtimePublisher publisher,
            IEventSubscriber subscriber,
            ITeamServiceClient teamClient,
            IOptions <PubnubOptions> pubnubOptions)
        {
            this.logger        = logger;
            this.pubnubOptions = pubnubOptions.Value;
            this.publisher     = publisher;
            this.subscriber    = subscriber;

            logger.LogInformation("Created Proximity Event Processor.");

            subscriber.ProximityDetectedEventReceived += (pde) => {
                Team   t            = teamClient.GetTeam(pde.TeamID);
                Member sourceMember = teamClient.GetMember(pde.TeamID, pde.SourceMemberID);
                Member targetMember = teamClient.GetMember(pde.TeamID, pde.TargetMemberID);

                ProximityDetectedRealtimeEvent outEvent = new ProximityDetectedRealtimeEvent
                {
                    TargetMemberID       = pde.TargetMemberID,
                    SourceMemberID       = pde.SourceMemberID,
                    DetectionTime        = pde.DetectionTime,
                    SourceMemberLocation = pde.SourceMemberLocation,
                    TargetMemberLocation = pde.TargetMemberLocation,
                    MemberDistance       = pde.MemberDistance,
                    TeamID           = pde.TeamID,
                    TeamName         = t.Name,
                    SourceMemberName = $"{sourceMember.FirstName} {sourceMember.LastName}",
                    TargetMemberName = $"{targetMember.FirstName} {targetMember.LastName}"
                };
                publisher.Publish(this.pubnubOptions.ProximityEventChannel, outEvent.toJson());
            };
        }
 public LocationReportsController(ICommandEventConverter converter,
                                  IEventEmitter eventEmitter,
                                  ITeamServiceClient teamServiceClient)
 {
     this.converter         = converter;
     this.eventEmitter      = eventEmitter;
     this.teamServiceClient = teamServiceClient;
 }
 public AggregateController(ITeamServiceClient teamServiceClient,
                            IMemberServiceClient memberServiceClient,
                            ICapPublisher capPublisher)
 {
     this.teamServiceClient   = teamServiceClient;
     this.memberServiceClient = memberServiceClient;
     this.capPublisher        = capPublisher;
 }
        public void Configure(IApplicationBuilder app,
                              IHostingEnvironment env,
                              ILoggerFactory loggerFactory,
                              ITeamServiceClient teamServiceClient,
                              IEventEmitter eventEmitter)
        {
            // Asked for instances of singletons during Startup
            // to force initialization early.

            app.UseMvc();
        }
 public AggregateController(ITeamServiceClient teamServiceClient,
                            IMemberServiceClient memberServicesClient,
                            IConfiguration configuration,         // 演示查看配置中心是否正常
                            ICapPublisher capPublisher,
                            ILogger <AggregateController> logger) // 日志中心
 {
     this._teamServiceClient   = teamServiceClient;
     this._memberServiceClient = memberServicesClient;
     this._configuration       = configuration;
     this._capPublisher        = capPublisher;
     this._logger = logger;
 }
        public void Configure(IApplicationBuilder app,
                              IHostingEnvironment env,
                              ILoggerFactory loggerFactory,
                              ITeamServiceClient teamServiceClient,
                              IEventEmitter eventEmitter)
        {
            // Asked for instances of singletons during Startup
            // to force initialization early.

            app.UseSwagger();
            app.UseSwaggerUI(c =>
            {
                c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
            });

            app.UseMvc();
        }
 public AggregateController(ITeamServiceClient teamServiceClient)
 {
     this.teamServiceClient = teamServiceClient;
 }