public Task UpdateEnvironmentVariable(DeviceEnvironmentVariable variable, CancellationToken cancellationToken = new CancellationToken()) { return(_client.MakeRequestAsync( cancellationToken, HttpMethod.Put, ResourceUrls.DeviceEnvironmentVariables, content: variable.ToJsonContent())); }
public static DeviceEnvironmentVariable InsertDeviceEnvironmentVariable( this IDbConnection connection, IDbTransaction transaction, Guid deviceId, string name, string value) { var variable = new DeviceEnvironmentVariable { DeviceId = deviceId, Name = name, Value = value }.SetNew(); connection.Insert(variable, transaction); return(variable); }
public IActionResult Put([FromBody] DeviceEnvironmentVariable variable) { using (var connection = _connectionFactory.CreateAndOpen()) using (var transaction = connection.BeginTransaction()) { //Get the original so we can log the delta. DeviceEnvironmentVariable original = connection.Get <DeviceEnvironmentVariable>(variable.Id, transaction); if (original == null) { return(NotFound()); } const string sql = " update DeviceEnvironmentVariables set" + " Name = @Name," + " Value = @Value " + "where" + " Id = @Id"; //Update it (and ensure that it happened) if (connection.Execute(sql, variable, transaction) != 1) { return(NotFound()); } //Insert an event connection.InsertDeviceEvent( transaction, variable.DeviceId, DeviceEventType.EnvironmentVariableUpdated, $"Device Environment variable changed from ({original.Name}/{original.Value}) to ({variable.Name}/{variable.Value})."); //Update the configuration version connection.SetNewDeviceConfigurationVersionForDevice(transaction, original.DeviceId); //We're done transaction.Commit(); } return(Ok()); }
public IActionResult Delete(Guid id) { using (var connection = _connectionFactory.CreateAndOpen()) using (var transaction = connection.BeginTransaction()) { //Get the device variable (so we can log the using the DeviceId) DeviceEnvironmentVariable original = connection.Get <DeviceEnvironmentVariable>(id, transaction); if (original == null) { return(NotFound()); } const string deleteSql = "delete from DeviceEnvironmentVariables where Id = @Id"; //Delete it! if (connection.Execute(deleteSql, new { Id = id }, transaction) != 1) { return(NotFound()); } //Insert an event connection.InsertDeviceEvent( transaction, original.DeviceId, DeviceEventType.EnvironmentVariableUpdated, $"Device Environment variable '{original.Name}' deleted."); //Update the configuration version connection.SetNewDeviceConfigurationVersionForDevice(transaction, original.DeviceId); //We're done here. transaction.Commit(); } return(Ok()); }