示例#1
0
        private RemoteEventsModel GetRemoteEventModel()
        {
            List <RemoteEventModel> remoteEventModel = new List <RemoteEventModel>();
            long sentEvents     = 0;
            long receivedEvents = 0;

            foreach (var ev in _eventRegistry.List())
            {
                var rm = new RemoteEventModel()
                {
                    Guid = ev.Id.ToString(), Name = GetName(ev.Id), NumberOfReceived = ev.ReceivedCount, NumberOfSent = ev.SentCount
                };
                sentEvents     += rm.NumberOfSent;
                receivedEvents += rm.NumberOfReceived;
                remoteEventModel.Add(rm);
            }

            var activeServers = LicensingServices.Instance.GetService <IServerStateService>().GetActiveServers();

            var remoteServers = _serverStateService.CurrentServerState()
                                .Where(x => x.Active)
                                .ToArray();

            return(new RemoteEventsModel()
            {
                RemoteEventModel = remoteEventModel,
                TotalNumberOfReceivedEvent = receivedEvents,
                TotalNumberOfSentEvent = sentEvents,
                ActiveServers = activeServers,
                ServerState = remoteServers,
                ProviderName = _providerService.DefaultProvider.Description ?? _providerService.DefaultProvider.Name,
                ProviderType = _providerService.DefaultProvider.GetType().FullName,
                Enabled = _providerService.Enabled
            });
        }