public static void DeleteEntities(string authToken, bool allEntities, bool liveOnly) { User authUser = new User(authToken); MediaClient mediaClient = new MediaClient(authToken); if (liveOnly) { DeleteLive(authToken, authUser.MediaAccount.Id, mediaClient); } else if (!allEntities) { IAsset[] assets = mediaClient.GetEntities(MediaEntity.Asset) as IAsset[]; foreach (IAsset asset in assets) { if (asset.ParentAssets.Count > 0) { DeleteAsset(authToken, authUser.MediaAccount.Id, mediaClient, asset); } } } else { DeleteLive(authToken, authUser.MediaAccount.Id, mediaClient); IIngestManifest[] manifests = mediaClient.GetEntities(MediaEntity.Manifest) as IIngestManifest[]; foreach (IIngestManifest manifest in manifests) { manifest.Delete(); } IJobTemplate[] jobTemplates = mediaClient.GetEntities(MediaEntity.JobTemplate) as IJobTemplate[]; foreach (IJobTemplate jobTemplate in jobTemplates) { jobTemplate.Delete(); } IJob[] jobs = mediaClient.GetEntities(MediaEntity.Job) as IJob[]; foreach (IJob job in jobs) { DeleteJob(authUser.MediaAccount.Id, job); } INotificationEndPoint[] notificationEndpoints = mediaClient.GetEntities(MediaEntity.NotificationEndpoint) as INotificationEndPoint[]; foreach (INotificationEndPoint notificationEndpoint in notificationEndpoints) { if (notificationEndpoint.EndPointType == NotificationEndPointType.AzureTable) { IMonitoringConfiguration monitoringConfig = mediaClient.GetEntityById(MediaEntity.MonitoringConfiguration, notificationEndpoint.Id) as IMonitoringConfiguration; if (monitoringConfig != null) { monitoringConfig.Delete(); } } notificationEndpoint.Delete(); } IAsset[] assets = mediaClient.GetEntities(MediaEntity.Asset) as IAsset[]; foreach (IAsset asset in assets) { DeleteAsset(authToken, authUser.MediaAccount.Id, mediaClient, asset); } IAccessPolicy[] accessPolicies = mediaClient.GetEntities(MediaEntity.AccessPolicy) as IAccessPolicy[]; foreach (IAccessPolicy accessPolicy in accessPolicies) { accessPolicy.Delete(); } IAssetDeliveryPolicy[] deliveryPolicies = mediaClient.GetEntities(MediaEntity.DeliveryPolicy) as IAssetDeliveryPolicy[]; foreach (IAssetDeliveryPolicy deliveryPolicy in deliveryPolicies) { deliveryPolicy.Delete(); } IContentKeyAuthorizationPolicy[] contentKeyAuthPolicies = mediaClient.GetEntities(MediaEntity.ContentKeyAuthPolicy) as IContentKeyAuthorizationPolicy[]; foreach (IContentKeyAuthorizationPolicy contentKeyAuthPolicy in contentKeyAuthPolicies) { contentKeyAuthPolicy.Delete(); } IContentKeyAuthorizationPolicyOption[] contentKeyAuthPolicyOptions = mediaClient.GetEntities(MediaEntity.ContentKeyAuthPolicyOption) as IContentKeyAuthorizationPolicyOption[]; foreach (IContentKeyAuthorizationPolicyOption contentKeyAuthPolicyOption in contentKeyAuthPolicyOptions) { contentKeyAuthPolicyOption.Delete(); } IContentKey[] contentKeys = mediaClient.GetEntities(MediaEntity.ContentKey) as IContentKey[]; foreach (IContentKey contentKey in contentKeys) { contentKey.Delete(); } } }
public static void ClearAccount(MediaClient mediaClient, bool allEntities) { if (allEntities) { IProgram[] programs = mediaClient.GetEntities(MediaEntity.Program) as IProgram[]; foreach (IProgram program in programs) { program.Delete(); } IChannel[] channels = mediaClient.GetEntities(MediaEntity.Channel) as IChannel[]; foreach (IChannel channel in channels) { channel.Delete(); } IIngestManifest[] manifests = mediaClient.GetEntities(MediaEntity.Manifest) as IIngestManifest[]; foreach (IIngestManifest manifest in manifests) { manifest.Delete(); } } IJob[] jobs = mediaClient.GetEntities(MediaEntity.Job) as IJob[]; foreach (IJob job in jobs) { job.Delete(); } INotificationEndPoint[] notificationEndpoints = mediaClient.GetEntities(MediaEntity.NotificationEndpoint) as INotificationEndPoint[]; foreach (INotificationEndPoint notificationEndpoint in notificationEndpoints) { if (notificationEndpoint.EndPointType == NotificationEndPointType.AzureTable) { IMonitoringConfiguration monitoringConfig = mediaClient.GetEntityById(MediaEntity.MonitoringConfiguration, notificationEndpoint.Id) as IMonitoringConfiguration; if (monitoringConfig != null) { monitoringConfig.Delete(); } } notificationEndpoint.Delete(); } IAsset[] assets = mediaClient.GetEntities(MediaEntity.Asset) as IAsset[]; foreach (IAsset asset in assets) { if (asset.ParentAssets.Count > 0 || allEntities) { DeleteAsset(mediaClient, asset); } } if (allEntities) { IAccessPolicy[] accessPolicies = mediaClient.GetEntities(MediaEntity.AccessPolicy) as IAccessPolicy[]; foreach (IAccessPolicy accessPolicy in accessPolicies) { accessPolicy.Delete(); } IAssetDeliveryPolicy[] deliveryPolicies = mediaClient.GetEntities(MediaEntity.DeliveryPolicy) as IAssetDeliveryPolicy[]; foreach (IAssetDeliveryPolicy deliveryPolicy in deliveryPolicies) { deliveryPolicy.Delete(); } IContentKeyAuthorizationPolicy[] contentKeyAuthPolicies = mediaClient.GetEntities(MediaEntity.ContentKeyAuthPolicy) as IContentKeyAuthorizationPolicy[]; foreach (IContentKeyAuthorizationPolicy contentKeyAuthPolicy in contentKeyAuthPolicies) { contentKeyAuthPolicy.Delete(); } IContentKeyAuthorizationPolicyOption[] contentKeyAuthPolicyOptions = mediaClient.GetEntities(MediaEntity.ContentKeyAuthPolicyOption) as IContentKeyAuthorizationPolicyOption[]; foreach (IContentKeyAuthorizationPolicyOption contentKeyAuthPolicyOption in contentKeyAuthPolicyOptions) { contentKeyAuthPolicyOption.Delete(); } } }