/// <summary> /// Коструктор /// </summary> /// <param name="owner"></param> /// <param name="id"></param> /// <param name="name"></param> /// <param name="type"></param> /// <param name="header"></param> /// <param name="pkIndex"></param> /// <param name="fieldEncoding">Кодировка для CLOB полей</param> public Field(SQLCursor owner, Int32 id, String name, Type type, String header, String pkIndex, FieldEncoding fieldEncoding = FieldEncoding.UTF8) { this.FieldID = id; this._owner = owner; this.FieldName = name.ToUpper(); this.DataType = ftypeHelper.ConvertTypeToFType(type); this.Encoding = fieldEncoding; this.FieldCaption = header; this.FieldPkIndex = pkIndex; }
public IoElement DecodeIoElement(FieldEncoding encoding) { var count = _reader.ReadByte(); var properties = new List <IoProperty>(count); for (var i = 0; i < count; i++) { properties.Add(DecodeProperty(encoding)); } return(IoElement.Create(0, properties.Count(), properties)); }
public IoProperty DecodeProperty(FieldEncoding encoding) { // read ID var propertyId = (int)_reader.ReadByte(); switch (encoding) { case FieldEncoding.Int8: return(IoProperty.Create(propertyId, _reader.ReadSByte())); case FieldEncoding.Int16: return(IoProperty.Create(propertyId, _reader.ReadInt16())); case FieldEncoding.Int32: return(IoProperty.Create(propertyId, _reader.ReadInt32())); default: throw new NotSupportedException(string.Format("The field encoding \"{0}\" is not supported.", encoding)); } }
internal FMPro3IOPropertyEncoding(FieldEncoding encoding) : base(encoding) { switch (encoding) { case FieldEncoding.Int8: break; case FieldEncoding.Int16: break; case FieldEncoding.Int32: break; case FieldEncoding.Int64: break; default: throw new NotSupportedException(string.Format("The field encoding ({0}) is not supported.", encoding)); } }
public IEnumerable <IoProperty> GetProperties(GlobalMaskCodec7 maskCodec7, GlobalMaskCodec7 flag, FieldEncoding encoding) { if (maskCodec7.HasFlag(flag)) { return(DecodeIoElement(encoding).Properties.ToList()); } return(null); }
private GhIoElementEncoding(FieldEncoding encoding) => _fieldEncoding = encoding;
/// <summary> /// Create a new integration from an object instance /// </summary> /// <param name="firstInstance"></param> /// <param name="name"></param> /// <returns></returns> protected Data.DataIntegration CreateIntegrationFromObj(dynamic firstInstance, string name) { Data.DataIntegration typeDef = null; if (firstInstance != null) { typeDef = new Data.DataIntegration(); typeDef.PublicKey = ApiAuth.Generate(); typeDef.DataEncoding = Encoding.CodePage; typeDef.DataFormatType = Formatter.Name; typeDef.SetFieldsFromType(firstInstance); } //Apply field options foreach (var fieldOpPair in FieldOptions) { FieldDefinition targetField = typeDef.Fields.FirstOrDefault(x => x.Name == fieldOpPair.Key); var fieldOp = fieldOpPair.Value; if (targetField == null) { if (fieldOp.ValueEvaluater != null) { var targetType = fieldOp.ValueEvaluater.ReturnType; var virtField = targetField = new FieldDefinition(fieldOpPair.Key, targetType); virtField.Extras = new FieldExtras() { IsFake = true }; typeDef.Fields.Add(virtField); } else { continue; //Maybe throw? } } if (fieldOp.IgnoreField) { typeDef.Fields.Remove(targetField); continue; } var ops = fieldOp; var stringName = typeof(String).Name; if (ops.IsString) { targetField.Type = stringName; } if (ops.Encoding != null) { FieldEncoding.SetEncoding(typeDef, targetField, ops.Encoding); } if (targetField.Type == stringName && targetField.Extras == null) { targetField.DataEncoding = FieldDataEncoding.BinaryIntId; targetField.Extras = new FieldExtras(); //targetField.Extras.Field = targetField; } if (ops.Duplicates.Count > 0) { foreach (var duplicate in ops.Duplicates) { var dupField = new FieldDefinition(duplicate, targetField.Type); typeDef.Fields.Add(dupField); } } } return(typeDef); }