예제 #1
0
        public Task DeleteAsync(string url)
        {
            if (string.IsNullOrWhiteSpace(url))
            {
                return(Task.FromResult(0));
            }

            var urlSplit = url.Split('/').Where(s => !string.IsNullOrWhiteSpace(s)).ToArray();

            if (urlSplit.Length < 2)
            {
                throw new InvalidOperationException("Wrong url format");
            }

            var groupFolder = GetGroupFolder(urlSplit.Skip(1).Take(urlSplit.Length - 2));

            if (groupFolder == null)
            {
                return(Task.FromResult(0));
            }

            var file = _contentRepo
                       .GetChildren <MediaData>(groupFolder.ContentLink)
                       .FirstOrDefault(m => m.Name == urlSplit.Last());

            if (file == null)
            {
                return(Task.FromResult(0));
            }

            _blobFactory.Delete(file.BinaryData.ID);
            _contentRepo.Delete(file.ContentLink, false, AccessLevel.NoAccess);
            return(Task.FromResult(0));
        }
 private static void DeleteBlob(Uri blobId, StringBuilder sb, BlobFactory blobFactory)
 {
     sb.AppendFormat("Deleting: {0}<br>", blobId);
     blobFactory.Delete(blobId);
 }
 private static void DeleteBlob(Uri blobId, StringBuilder sb, BlobFactory blobFactory)
 {
     sb.AppendFormat("Deleting: {0}<br>", blobId);
     blobFactory.Delete(blobId);
 }