Пример #1
0
        public IFileVersionMetadata WriteRemoteFile(IFolderMetadata folderMetadata, IRemoteFile remoteFile)
        {
            if (folderMetadata == null)
            {
                throw new ArgumentNullException("folderMetadata");
            }

            if (remoteFile == null)
            {
                throw new ArgumentNullException("remoteFile");
            }

            if (string.IsNullOrEmpty(remoteFile.Name))
            {
                throw new ArgumentNullException("remoteFile.Name");
            }

            if (remoteFile.Stream == null)
            {
                throw new ArgumentNullException("remoteFile.Stream");
            }

            IBlobFileMetadata blobFileMetadata = this.BlobMetadataAdapter.CreateFile(folderMetadata, remoteFile.Name);

            blobFileMetadata.Name = remoteFile.Name;

            //резервация параметров сохранения файла с
            blobFileMetadata.EnsureRemoteSaveProperties(remoteFile);

            //запись файла
            IFileVersionMetadata savedVersion = this.WriteInternal(blobFileMetadata, remoteFile.Stream, remoteFile.TimeCreated);

            return(savedVersion);
        }
Пример #2
0
        public IFileVersionMetadata WriteRemoteFileVersion(IFileMetadata fileMetadata, IRemoteFile remoteFile)
        {
            if (fileMetadata == null)
            {
                throw new ArgumentNullException("fileMetadata");
            }

            if (fileMetadata.FolderMetadata == null)
            {
                throw new ArgumentNullException("fileMetadata.FolderMetadata");
            }

            if (remoteFile == null)
            {
                throw new ArgumentNullException("remoteFile");
            }

            if (remoteFile.Stream == null)
            {
                throw new ArgumentNullException("remoteFile.Stream");
            }

            this.Logger.WriteFormatMessage("WriteFileVersion:Начало записи новой версии файла, fileMetadata.Name: {0}, fileMetadata.UniqueID: {1}", fileMetadata.Name, fileMetadata.UniqueID);

            IBlobFileMetadata blobFileMetadata = (IBlobFileMetadata)fileMetadata;

            if (!string.IsNullOrEmpty(remoteFile.Name))
            {
                blobFileMetadata.Name = remoteFile.Name;
            }

            //резервация параметров сохранения
            blobFileMetadata.EnsureRemoteSaveProperties(remoteFile);

            //запись версии файла
            IFileVersionMetadata savedVersion = this.WriteInternal(blobFileMetadata, remoteFile.Stream, remoteFile.TimeCreated);

            return(savedVersion);
        }