コード例 #1
0
        public async Task UpdateVariantSku(SkuVariantMapDocument skuVariantMap)
        {
            try
            {
                var requestOptions = new RequestOptions()
                {
                    AccessCondition = new AccessCondition()
                    {
                        Type      = AccessConditionType.IfMatch,
                        Condition = skuVariantMap.Version
                    }
                };
                await _documentClient.ReplaceDocumentAsync(UriFactory.CreateDocumentUri(_dbName, _skuVariantMapCollectionName, skuVariantMap.SKU), skuVariantMap, requestOptions);
            }
            catch (DocumentClientException de)
            {
                Exception baseException = de.GetBaseException();
                var       message       = $"{de.StatusCode} error occurred: {de.Message}, Message: {baseException.Message}";
                Trace.TraceError(message);
                if (de.StatusCode == HttpStatusCode.PreconditionFailed)
                {
                    throw new OptimisticConcurrencyException(message, de);
                }

                if (de.StatusCode == HttpStatusCode.NotFound)
                {
                    throw new ResourceNotFoundException(message, de);
                }

                throw;
            }
        }
コード例 #2
0
 public async Task CreateSkuVariantMap(SkuVariantMapDocument skuVariantMap)
 {
     await _documentClient.CreateDocumentAsync(UriFactory.CreateDocumentCollectionUri(_dbName, _skuVariantMapCollectionName), skuVariantMap);
 }
コード例 #3
0
 public void AddItem(SkuVariantMapDocument item)
 {
     _skuVariantCacheManager.Add(item.SKU, item);
 }