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); }
public void CheckParameterSetToFalse() { AssetDeleteOptionsRequestAdapter adapter = new AssetDeleteOptionsRequestAdapter(false); Uri uri = ExecuteAssetDeleteRequest(adapter); Assert.IsNotNull(uri); Assert.IsTrue(uri.Query.Contains("keepcontainer=false")); }
/// <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))); }