/// <summary> /// Возвращает метаданные всех версий файла. /// </summary> /// <param name="file">Метаданные файла.</param> /// <returns>Коллекцию метаданных версий файла.</returns> internal FileVersionsCollection GetFileVersions(FileMetadata file) { if (file == null) { throw new ArgumentNullException("file"); } FileVersionsCollection versions = new FileVersionsCollection(file); string query = String.Format("[FileID] = '{0}'", file.ID); string tableName = this.GetTableName(file); DBObjectDistributedTable table = this.MetadataAdapter.TableActivator.GetDistributedTable(this.DBSchemaAdapter, tableName); MetadataQueryBuilder queryBuilder = new MetadataQueryBuilder(table.TablePartition.Table, this.TypeDefinition); string resultQuery = @"{SelectQuery} WHERE {Query} ORDER BY [TimeCreated] ASC" .ReplaceKey("SelectQuery", queryBuilder.SelectQuery) .ReplaceKey("Query", query); DataTable resultTable = this.DataAdapter.GetDataTable(resultQuery); if (resultTable != null) { foreach (DataRow row in resultTable.Rows) { FileVersionMetadata metadata = new FileVersionMetadata(row, versions); versions.AddVersion(metadata); } } return(versions); }
/// <summary> /// К-тор. /// </summary> /// <param name="adapter">Коллекция версий файла.</param> internal FileVersionMetadata(FileVersionsCollection collection) { if (collection == null) { throw new ArgumentNullException("collection"); } this.VersionsCollection = collection; }
/// <summary> /// К-тор. /// </summary> /// <param name="row">Данные.</param> /// <param name="collection">Коллекция версий файла.</param> internal FileVersionMetadata(DataRow row, FileVersionsCollection collection) { if (row == null) { throw new ArgumentNullException("row"); } if (collection == null) { throw new ArgumentNullException("collection"); } this.MetadataRow = row; this.VersionsCollection = collection; }
public ICollection <IBlobFileVersionMetadata> GetVersions(IBlobFileMetadata fileMetadata) { if (fileMetadata == null) { throw new ArgumentNullException("fileMetadata"); } this.Logger.WriteFormatMessage("GetVersions: Начало. fileUniqueID='{0}' folderUrl='{1}'", fileMetadata.UniqueID, fileMetadata.FolderMetadata.Url); FileVersionsCollection collection = ((FileMetadata)fileMetadata).Versions; this.Logger.WriteMessage("GetVersions: Конец."); return(collection); }