internal override async Task AddSensorInternalAsync(ICommandParameters internalParams, int index, CancellationToken token) { var deviceId = (int)internalParams[Parameter.Id]; int?tmpId = (int?)internalParams[Parameter.TmpId]; //If it's our first request (not the case when adding excesive values) if (index == 0) { if (tmpId == null) { tmpId = await GetTmpIdAsync(deviceId, internalParams, token).ConfigureAwait(false); } internalParams[Parameter.TmpId] = tmpId.Value; ((BaseParameters)internalParams).Cookie = true; } await client.AddObjectInternalDefaultAsync(internalParams, token).ConfigureAwait(false); //If it's our first request (not the case when adding excesive values) if (index == 0) { var progressParameters = new AddSensorProgressParameters(deviceId, tmpId.Value, true); var progress = await client.ObjectEngine.GetObjectAsync <AddSensorProgress>(progressParameters, token : token).ConfigureAwait(false); await client.ValidateAddSensorProgressResultAsync(deviceId, progress, true, token).ConfigureAwait(false); } }
//###################################### // AddSensorInternal //###################################### internal override void AddSensorInternal(ICommandParameters internalParams, int index, CancellationToken token) { var deviceId = (int)internalParams[Parameter.Id]; int?tmpId = (int?)internalParams[Parameter.TmpId]; //If it's our first request (not the case when adding excesive values) if (index == 0) { if (tmpId == null) { tmpId = GetTmpId(deviceId, internalParams, token); } internalParams[Parameter.TmpId] = tmpId.Value; ((BaseParameters)internalParams).Cookie = true; } client.AddObjectInternalDefault(internalParams, token); //If it's our first request (not the case when adding excesive values) if (index == 0) { var progressParameters = new AddSensorProgressParameters(deviceId, tmpId.Value, true); var progress = client.ObjectEngine.GetObject <AddSensorProgress>(progressParameters, token: token); ResponseParser.ValidateAddSensorProgressResult(progress, true); } }