public void CreateGloballyUniqueValue() { var value = new GloballyUniqueValue("asset", "utilitybelt") { DistributionKey = 5797866 }; var azureGloballyUniqueValue = new AzureGloballyUniqueValue(); try { azureGloballyUniqueValue.DeleteGloballyUniqueValue(value.PartitionKey, value.RowKey); azureGloballyUniqueValue.AddGloballyUniqueValue(value.PartitionKey, value.RowKey, value.DistributionKey); } catch (Exception) { //TODO: Log to log provider. throw; } }
/// <summary> /// Adds the globally unique value. /// </summary> /// <param name="dataSetName">Name of the data set.</param> /// <param name="uniqueValue">The unique value.</param> /// <param name="distributionKey">The distribution key.</param> /// <exception cref="System.InvalidOperationException">The provided unique value already exist</exception> public void AddGloballyUniqueValue(string dataSetName, string uniqueValue, long distributionKey) { var globallyUniqueValue = GetGloballyUniqueValue(dataSetName, uniqueValue, true); if (globallyUniqueValue == null) { globallyUniqueValue = new GloballyUniqueValue { DataSetName = dataSetName, UniqueValue = uniqueValue, DistributionKey = distributionKey }; _serviceContext.AddObject(GloballyUniqueValueContext.GloballyUniqueValueTable, globallyUniqueValue); } else { throw new InvalidOperationException("The provided unique value already exist"); } _serviceContext.SaveChanges(); AzureCache.Put(dataSetName + "-" + uniqueValue, globallyUniqueValue); }