public async Task <TableStorageResponse <LocationRule> > DeleteLocationRuleAsync(LocationRule ruleToDelete) { LocationRuleTableEntity incomingEntity = BuildTableEntityFromRule(ruleToDelete); TableStorageResponse <LocationRule> result = await _azureTableStorageClient.DoDeleteAsync <LocationRule, LocationRuleTableEntity>(incomingEntity, BuildRuleFromTableEntity); if (result.Status == TableStorageResponseStatus.Successful) { // Build up a new blob to push up for ASA job ref data List <LocationRuleBlobEntity> blobList = await BuildBlobEntityListFromTableRows(); await PersistRulesToBlobStorageAsync(blobList); } return(result); }
private LocationRuleTableEntity BuildTableEntityFromRule(LocationRule incomingRule) { LocationRuleTableEntity tableEntity = new LocationRuleTableEntity(incomingRule.RegionId, incomingRule.RuleId) { Enabled = incomingRule.EnabledState, Region = incomingRule.Region, RegionLatitude = incomingRule.RegionLatitude, RegionLongitude = incomingRule.RegionLongitude, VerticalThreshold = incomingRule.VerticalThreshold, LateralThreshold = incomingRule.LateralThreshold, ForwardThreshold = incomingRule.ForwardThreshold, RuleOutput = incomingRule.RuleOutput }; if (!string.IsNullOrWhiteSpace(incomingRule.Etag)) { tableEntity.ETag = incomingRule.Etag; } return(tableEntity); }
private LocationRule BuildRuleFromTableEntity(LocationRuleTableEntity tableEntity) { if (tableEntity == null) { return(null); } var updatedRule = new LocationRule(tableEntity.RuleId) { RegionId = tableEntity.RegionId, Region = tableEntity.Region, EnabledState = tableEntity.Enabled, RegionLatitude = tableEntity.RegionLatitude, RegionLongitude = tableEntity.RegionLongitude, VerticalThreshold = tableEntity.VerticalThreshold, LateralThreshold = tableEntity.LateralThreshold, ForwardThreshold = tableEntity.ForwardThreshold, RuleOutput = tableEntity.RuleOutput, Etag = tableEntity.ETag }; return(updatedRule); }