Пример #1
0
        protected virtual void Dispose(bool disposing)
        {
            if (!disposedValue)
            {
                if (disposing)
                {
                    try {
                    } finally {
                        comunicator.OnRequest -= onServerRequest;
                        comunicator?.Dispose();

                        if (event55Wtch?.Dependancy != null)
                        {
                            event55Wtch.Dependancy.OnChanged       -= onChangedEvent55EventHandler;
                            event55Wtch.Dependancy.OnStatusChanged -= onStatusChanged;
                            event55Wtch.Dependancy.OnError         -= onError;
                            event55Wtch.Dispose();
                            event55Wtch = null;
                        }

                        eventService?.Dispose();
                        eventService = null;
                        onChangedEvent55EventHandler = null;
                    }
                }
                Log.Trace($"Disposed: {ToString()}");
                disposedValue = true;
            }
        }
Пример #2
0
        public EventsWatcher(AConfiguration conf, CancellationToken token)
        {
            cancellationToken = token;

            // setup comunication with bot servers
            comunicator.ServersUrls = conf.ServersUrls;
            comunicator.OnRequest  += onServerRequest;
            comunicator.ConnectSubscribers();

            // create service for interecting with data
            eventService = new EventService(conf.ConnectionString, cancellationToken);

            event55Wtch = new EntitieWatcher <Event55>(conf.ConnectionString, filter: event55 => event55.EventCode == 105);
            onChangedEvent55EventHandler = new ChangedEventHandler <Event55>(async(s, e) => await onChanged(s, e));

            event55Wtch.Dependancy.OnChanged       += onChangedEvent55EventHandler;
            event55Wtch.Dependancy.OnStatusChanged += onStatusChanged;
            event55Wtch.Dependancy.OnError         += onError;

            event55Wtch.Start();
        }