public async Task <IActionResult> GetETAPU11Data(string name, bool update = false) { if (string.IsNullOrEmpty(name)) { _logger?.LogDebug($"GetETAPU11Data() invalid property."); return(StatusCode(StatusCodes.Status400BadRequest, $"Property is invalid.")); } try { _logger?.LogDebug($"GetETAPU11Data({name})..."); if (ETAPU11Data.IsProperty(name)) { if (update) { if (ETAPU11Data.IsReadable(name)) { if (!_etapu11.IsLocked) { return(StatusCode(StatusCodes.Status406NotAcceptable, "Locked: update not yet finished.")); } var status = await _etapu11.ReadPropertyAsync(name); if (status.IsGood) { return(StatusCode(StatusCodes.Status502BadGateway, status)); } } else { _logger?.LogDebug($"GetETAPU11Data('{name}') property not readable."); return(StatusCode(StatusCodes.Status405MethodNotAllowed, $"Property '{name}' not readable.")); } } return(Ok(_etapu11.GetPropertyValue(name))); } else { _logger?.LogDebug($"GetETAPU11Data('{name}') property not found."); return(NotFound($"Property '{name}' not found.")); } } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message)); } }
public void TestProperty(string property) { Assert.True(ETAPU11.IsProperty(property)); Assert.NotNull(_etapu11.GetPropertyValue(property)); }