public virtual IEnumerator <ITask> ConfigureDeviceHandler(ConfigureDevice configureDevice) { int ix = _state.SensorConfiguration.FindIndex( delegate(SensorConfiguration c) { return(c.DeviceModel == configureDevice.Body.DeviceModel && (c.DeviceName ?? string.Empty) == (configureDevice.Body.DeviceName ?? string.Empty)); }); if (ix < 0) { _state.SensorConfiguration.Add(configureDevice.Body); } else { _state.SensorConfiguration[ix].SuccessRangeMin = configureDevice.Body.SuccessRangeMin; _state.SensorConfiguration[ix].SuccessRangeMax = configureDevice.Body.SuccessRangeMax; } ValidateState(); yield return(Arbiter.ExecuteToCompletion(Environment.TaskQueue, new IterativeTask(FindSensors))); configureDevice.ResponsePort.Post(DefaultUpsertResponseType.Instance); yield break; }
public virtual IEnumerator<ITask> ConfigureDeviceHandler(ConfigureDevice configureDevice) { int ix = _state.SensorConfiguration.FindIndex( delegate(SensorConfiguration c) { return c.DeviceModel == configureDevice.Body.DeviceModel && (c.DeviceName ?? string.Empty) == (configureDevice.Body.DeviceName ?? string.Empty); }); if (ix < 0) _state.SensorConfiguration.Add(configureDevice.Body); else { _state.SensorConfiguration[ix].SuccessRangeMin = configureDevice.Body.SuccessRangeMin; _state.SensorConfiguration[ix].SuccessRangeMax = configureDevice.Body.SuccessRangeMax; } ValidateState(); yield return Arbiter.ExecuteToCompletion(Environment.TaskQueue, new IterativeTask(FindSensors)); configureDevice.ResponsePort.Post(DefaultUpsertResponseType.Instance); yield break; }