// Test disabled because it deletes all images in the remote account.
        public void DeleteAllInLoop()
        {
            return;
            string nextCursor = String.Empty;

            while (true)
            {
                ListResourcesResult existingResources = String.IsNullOrEmpty(nextCursor) ?
                    m_cloudinary.ListResources() :
                    m_cloudinary.ListResources(nextCursor);

                nextCursor = existingResources.NextCursor;

                DelResParams deleteParams = new DelResParams();

                bool resourcesLeft = false;
                foreach (var res in existingResources.Resources)
                {
                    if (res.Type != "sprite")
                    {
                        deleteParams.Type = res.Type;
                        resourcesLeft = true;
                        break;
                    }
                }

                if (!resourcesLeft) break;

                foreach (var resource in existingResources.Resources)
                {
                    if (resource.Type == deleteParams.Type)
                        deleteParams.PublicIds.Add(resource.PublicId);
                }

                Console.WriteLine("Deleting {0} resources of type {1}...", deleteParams.PublicIds.Count, deleteParams.Type);

                m_cloudinary.DeleteResources(deleteParams);
            }
        }
 public DelResResult DeleteResourcesByTag(string tag)
 {
     DelResParams p = new DelResParams() { Tag = tag };
     return DeleteResources(p);
 }
        public DelResResult DeleteResources(DelResParams parameters)
        {
            Url url = m_api.ApiUrlV.
                Add("resources").
                Add(Api.GetCloudinaryParam<ResourceType>(parameters.ResourceType));

            if (String.IsNullOrEmpty(parameters.Tag))
            {
                url = url.Add(parameters.Type);
            }
            else
            {
                url = url.Add("tags").Add(parameters.Tag);
            }

            UrlBuilder urlBuilder = new UrlBuilder(url.BuildUrl());

            foreach (var param in parameters.ToParamsDictionary())
            {
                if (param.Value is IEnumerable<string>)
                {
                    foreach (var item in (IEnumerable)param.Value)
                    {
                        urlBuilder.QueryString.Add(String.Format("{0}[]", param.Key), item.ToString());
                    }
                }
                else
                {
                    urlBuilder.QueryString[param.Key] = param.Value.ToString();
                }
            }

            using (HttpWebResponse response = m_api.Call(
                HttpMethod.DELETE, urlBuilder.ToString(), null, null))
            {
                DelResResult result = DelResResult.Parse(response);
                return result;
            }
        }
 public DelResResult DeleteResourcesByPrefix(string prefix)
 {
     DelResParams p = new DelResParams() { Prefix = prefix };
     return DeleteResources(p);
 }
 public DelResResult DeleteResources(params string[] publicIds)
 {
     DelResParams p = new DelResParams();
     p.PublicIds.AddRange(publicIds);
     return DeleteResources(p);
 }