/// <summary>
 /// Called when [sensor registered].
 /// </summary>
 /// <param name="sensorRegistrationData">The sensor registration data.</param>
 private void OnDeviceRegistered(ReceiverEvents.DeviceRegistered e)
 {
     lock (_sensorIds)
     {
         if (!_sensorIds.Contains(e.SensorId) && _sensorIds.Count < MAX_METERS)
         {
             _sensorIds.Add(e.SensorId);
             // NOTE: Use RegisterViewWithRegion not Add to region to fix issue with Telerik Control hanging
             _regionManager.RegisterViewWithRegion(RegionNames.MeterRegion, () =>
             {
                 using (new ShowBusyIndicator())
                 {
                     IView view = _container.Resolve <MeterView>();
                     MeterPresenter presenter = _container.Resolve <MeterPresenter>();
                     presenter.Id             = e.SensorId;
                     presenter.SetMeterType(e.SensorType);
                     presenter.RequestRemoval += (sender, args) =>
                     {
                         lock (_sensorIds)
                         {
                             IRegion region = _regionManager.Regions[RegionNames.MeterRegion];
                             region.Remove(view);
                             _sensorIds.Remove(presenter.Id);
                         }
                     };
                     view.ApplyPresenter(presenter);
                     return(view);
                 }
             });
         }
     }
 }
Beispiel #2
0
 /// <summary>
 /// Called when [sensor registration].
 /// </summary>
 /// <param name="sensorRegistrationData">The sensor registration data.</param>
 private void OnDeviceRegistered(ReceiverEvents.DeviceRegistered e)
 {
     if (_config.MeterSoundsEnabled)
     {
         PlaySoundResource(SENSOR_CONNECTED_WAV);
     }
 }
Beispiel #3
0
 /// <summary>
 /// Called when [sensor registered].
 /// </summary>
 /// <param name="sensorRegistrationData">The sensor registration data.</param>
 private void OnDeviceRegistered(ReceiverEvents.DeviceRegistered e)
 {
     if (e.SensorId == this.Id)
     {
         SetMeterType(e.SensorType);
         IsActive = true;
     }
 }
 public KickAndPunch(
     ReceiverEvents.DeviceRegistered deviceRegisteredEvent,
     ReceiverEvents.ButtonPressed buttonPressedEvent,
     ReceiverEvents.RegisterDevice registerDeviceRequest,
     ReceiverEvents.SensorHit deviceSensorHit,
     ReceiverEvents.DeviceStatusUpdate deviceStatusNotify,
     ApplicationEvents.ApplicationClosing appClosingEvent)
 {
     this.deviceRegisteredEvent = deviceRegisteredEvent;
     this.buttonPressedEvent = buttonPressedEvent;
     this.registerDeviceRequest = registerDeviceRequest;
     this.deviceSensorHit = deviceSensorHit;
     this.deviceStatusNotify = deviceStatusNotify;
     this.appClosingEvent = appClosingEvent;
 }
 public KickAndPunch(
     ReceiverEvents.DeviceRegistered deviceRegisteredEvent,
     ReceiverEvents.ButtonPressed buttonPressedEvent,
     ReceiverEvents.RegisterDevice registerDeviceRequest,
     ReceiverEvents.SensorHit deviceSensorHit,
     ReceiverEvents.DeviceStatusUpdate deviceStatusNotify,
     ApplicationEvents.ApplicationClosing appClosingEvent)
 {
     this.deviceRegisteredEvent = deviceRegisteredEvent;
     this.buttonPressedEvent    = buttonPressedEvent;
     this.registerDeviceRequest = registerDeviceRequest;
     this.deviceSensorHit       = deviceSensorHit;
     this.deviceStatusNotify    = deviceStatusNotify;
     this.appClosingEvent       = appClosingEvent;
 }