private void Init(string name, BinaryColumnTypeOption dataType, int size) { this.name = name; this.dataType = dataType; if (dataType == BinaryColumnTypeOption.String) { this.size = size; } else { this.size = AttributeHelper.GetAttribute <BinaryColumnTypeIdentity>(dataType).Size; } }
public void RegisterHeader(CacheHeaderInfo header) { string fileName = FileHelper.CreateCacheFileName(cacheFolder, header.IdentityCode, header.SubSection, header.CacheId, header.CacheType); BinaryField[] fields = new BinaryField[header.Columns.Count]; int index = 0; foreach (CacheColumn column in header.Columns.Values) { BinaryColumnTypeOption binaryColumnType = BinaryColumnTypeOption.String; switch (column.DataType) { case CacheDataTypeOption.Double: binaryColumnType = BinaryColumnTypeOption.Double; break; case CacheDataTypeOption.Long: binaryColumnType = BinaryColumnTypeOption.Long; break; case CacheDataTypeOption.String: binaryColumnType = BinaryColumnTypeOption.String; break; case CacheDataTypeOption.Integer: binaryColumnType = BinaryColumnTypeOption.Integer; break; case CacheDataTypeOption.Guid: binaryColumnType = BinaryColumnTypeOption.Guid; break; } fields[index] = new BinaryField(column.Name, binaryColumnType, column.Size); index++; } if (!binaryFiles.ContainsKey(header.IdentityCode)) { binaryFiles.Add(header.IdentityCode, new FileCacheItem(fileName, header, fields)); } }
public BinaryField(string name, BinaryColumnTypeOption dataType) { Init(name, dataType, 0); }