示例#1
0
            public void MarkUploaded(string uploadContextId, Uri uploadUri)
            {
                ISupportingFileUploadInfo uploadInfo = GetUploadInfo(uploadContextId);

                _fileFactory.MarkUploaded(uploadContextId, _fileVersion, uploadUri, uploadInfo.UploadSettings);
                _fileFactory._fileService.NotifyFileChanged(this);
            }
 public FileUploadContext(BlogFileUploader fileUploader, string postId, ISupportingFile supportingFile, ISupportingFileUploadInfo uploadInfo, bool forceDirectImageLink)
 {
     _fileUploader         = fileUploader;
     _blogId               = fileUploader.BlogId;
     _postId               = postId;
     _supportingFile       = supportingFile;
     _uploadInfo           = uploadInfo;
     _forceDirectImageLink = forceDirectImageLink;
 }
示例#3
0
        public Uri GetPublishedUri(string publishContext)
        {
            ISupportingFileUploadInfo uploadInfo = _supportingFile.GetUploadInfo(publishContext);

            if (uploadInfo != null)
            {
                return(uploadInfo.UploadUri);
            }
            else
            {
                return(null);
            }
        }
 public void DoAfterPostUploadWork(BlogFileUploader fileUploader, string postId)
 {
     foreach (ISupportingFile file in _fileList)
     {
         string uploadContext = fileUploader.DestinationContext;
         if (_uploadedFiles.ContainsKey(file.FileId))
         {
             ISupportingFileUploadInfo uploadInfo        = file.GetUploadInfo(uploadContext);
             FileUploadContext         fileUploadContext = new FileUploadContext(fileUploader, postId, file, uploadInfo, false);
             fileUploader.DoUploadWorkAfterPublish(fileUploadContext);
         }
     }
 }
示例#5
0
            public void DoUploadWork(string fileReference, BlogFileUploader fileUploader, bool isLightboxCloneEnabled)
            {
                // Get both strings into the same state which is unescaped
                string          unescapedFileReference = new Uri(fileReference).ToString();
                ISupportingFile file = null;

                foreach (ISupportingFile supportingFile in _fileList)
                {
                    if (supportingFile.FileUri.ToString() == unescapedFileReference)
                    {
                        file = supportingFile;
                        break;
                    }
                }

                if (file == null)
                {
                    string listString = "";
                    foreach (ISupportingFile supportingFile in _fileList)
                    {
                        listString += supportingFile.FileUri + "\r\n";
                    }
                    Trace.Fail(String.Format(CultureInfo.InvariantCulture, "Reference found to file that does not exist in SupportingFileService \r\nfileReference: {0}\r\n_fileList:\r\n{1}", fileReference, listString));
                    return;
                }


                string uploadContext = fileUploader.DestinationContext;

                ISupportingFileUploadInfo uploadInfo        = file.GetUploadInfo(uploadContext);
                FileUploadContext         fileUploadContext = new FileUploadContext(fileUploader, _postId, file, uploadInfo, isLightboxCloneEnabled);

                if (fileUploader.DoesFileNeedUpload(file, fileUploadContext))
                {
                    if (!_uploadedFiles.ContainsKey(file.FileId))
                    {
                        _uploadedFiles[file.FileId] = file;
                        Uri uploadUri = fileUploader.DoUploadWorkBeforePublish(fileUploadContext);
                        if (uploadUri != null)
                        {
                            file.MarkUploaded(uploadContext, uploadUri);
                            Debug.WriteLine(String.Format(CultureInfo.InvariantCulture, "File Uploaded: {0}", file.FileName));
                        }
                    }
                    else
                    {
                        Trace.Fail("This file has already been uploaded during this publish operation: " + file.FileName);
                    }
                }
            }
        private void ShowFileProperties(SupportingFileFactory.VersionedSupportingFile file)
        {
            ResetDataSet();
            if (file != null)
            {
                AddData("id", file.FileId);
                AddData("version", file.FileVersion.ToString(CultureInfo.InvariantCulture));
                AddData("name", file.FileName);
                AddData("nameUniqueToken", file.FileNameUniqueToken);
                AddData("embedded", file.Embedded.ToString());
                AddData("localPath", UrlHelper.SafeToAbsoluteUri(file.FileUri));
                AddSettings("", file.Settings);

                foreach (string uploadContext in file.GetAllUploadContexts())
                {
                    ISupportingFileUploadInfo uploadInfo = file.GetUploadInfo(uploadContext);
                    string prefix = "upload." + uploadContext + ".";
                    AddData(prefix + "version", uploadInfo.UploadedFileVersion.ToString(CultureInfo.InvariantCulture));
                    AddData(prefix + "uri", UrlHelper.SafeToAbsoluteUri(uploadInfo.UploadUri));
                    AddSettings(prefix, uploadInfo.UploadSettings);
                }
            }
        }
示例#7
0
            public bool IsUploaded(string uploadContextId)
            {
                ISupportingFileUploadInfo uploadInfo = GetUploadInfo(uploadContextId);

                return(FileVersion == uploadInfo.UploadedFileVersion);
            }
 public FileUploadContext(BlogFileUploader fileUploader, string postId, ISupportingFile supportingFile, ISupportingFileUploadInfo uploadInfo, bool forceDirectImageLink)
 {
     _fileUploader = fileUploader;
     _blogId = fileUploader.BlogId;
     _postId = postId;
     _supportingFile = supportingFile;
     _uploadInfo = uploadInfo;
     _forceDirectImageLink = forceDirectImageLink;
 }