コード例 #1
0
        private static Uri ExecuteAssetDeleteRequest(AssetDeleteOptionsRequestAdapter adapter)
        {
            Uri  uri     = null;
            var  context = new DataServiceContext(new Uri("http://127.0.0.1/" + Guid.NewGuid().ToString()));
            bool sendingRequestCalled = false;

            context.SendingRequest2 += delegate(object o, SendingRequest2EventArgs args)
            {
                sendingRequestCalled = true;
                uri = args.RequestMessage.Url;
            };
            try
            {
                AssetData asset = new AssetData()
                {
                    Id = Guid.NewGuid().ToString()
                };
                context.AttachTo("Assets", asset);
                context.DeleteObject(asset);
                adapter.Adapt(context);
                context.SaveChanges();
            }
            catch (DataServiceRequestException ex)
            {
                Debug.WriteLine(ex.Message);
            }
            Assert.IsTrue(sendingRequestCalled);
            return(uri);
        }
コード例 #2
0
        public void CheckParameterSetToFalse()
        {
            AssetDeleteOptionsRequestAdapter adapter = new AssetDeleteOptionsRequestAdapter(false);
            Uri uri = ExecuteAssetDeleteRequest(adapter);

            Assert.IsNotNull(uri);
            Assert.IsTrue(uri.Query.Contains("keepcontainer=false"));
        }
コード例 #3
0
        /// <summary>
        /// Asynchronously deletes this asset instance.
        /// </summary>
        /// <param name="keepAzureStorageContainer">if set to <c>true</c> underlying storage asset container is preserved during the delete operation.</param>
        /// <returns>Task of type <see cref="IMediaDataServiceResponse"/></returns>
        public Task <IMediaDataServiceResponse> DeleteAsync(bool keepAzureStorageContainer)
        {
            AssetCollection.VerifyAsset(this);

            AssetDeleteOptionsRequestAdapter deleteRequestAdapter = new AssetDeleteOptionsRequestAdapter(keepAzureStorageContainer);
            IMediaDataServiceContext         dataContext          = this._mediaContextBase.MediaServicesClassFactory.CreateDataServiceContext(new[] { deleteRequestAdapter });

            dataContext.AttachTo(AssetCollection.AssetSet, this);
            this.InvalidateContentKeysCollection();
            this.InvalidateDeliveryPoliciesCollection();
            dataContext.DeleteObject(this);

            MediaRetryPolicy retryPolicy = this._mediaContextBase.MediaServicesClassFactory.GetSaveChangesRetryPolicy(dataContext as IRetryPolicyAdapter);

            return(retryPolicy.ExecuteAsync <IMediaDataServiceResponse>(() => dataContext.SaveChangesAsync(this)));
        }