Exemplo n.º 1
0
        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();
                }
            }
        }
Exemplo n.º 2
0
 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();
         }
     }
 }