示例#1
0
 public IField CreateField(FieldTypeKey key, object value)
 {
     var fieldType = _fieldTypes.SingleOrDefault(ft => ft.Key == key);
     if (fieldType == null) {
         fieldType = new FieldType(key);
     }
     var field = new Field(fieldType);
     field.Value = value;
     return field;
 }
示例#2
0
 public override int GetHashCode()
 {
     unchecked {
         int result = Id.GetHashCode();
         result = (result * 397) ^ (Name != null ? Name.GetHashCode() : 0);
         result = (result * 397) ^ (FieldTypeKey != null ? FieldTypeKey.GetHashCode() : 0);
         result = (result * 397) ^ (Value != null ? Value.GetHashCode() : 0);
         result = (result * 397) ^ (Properties != null ? Properties.GetHashCode() : 0);
         return(result);
     }
 }
示例#3
0
        public IField CreateField(FieldTypeKey key, object value)
        {
            var fieldType = _fieldTypes.SingleOrDefault(ft => ft.Key == key);

            if (fieldType == null)
            {
                fieldType = new FieldType(key);
            }
            var field = new Field(fieldType);

            field.Value = value;
            return(field);
        }
示例#4
0
        public void SetField(FieldTypeKey fieldTypeKey, object value)
        {
            var field = _fields.SingleOrDefault(f => f.FieldType.Key == fieldTypeKey);

            if (field == null)
            {
                var newField = _fieldTypes.CreateField(fieldTypeKey, value);
                _fields.Add(newField);
            }
            else
            {
                field.Value = value;
            }
        }
示例#5
0
 internal FieldType(FieldTypeKey key, string description = "")
 {
     Key = key;
     Description = description;
 }
示例#6
0
 internal FieldType(FieldTypeKey key, string description = "")
 {
     Key         = key;
     Description = description;
 }
示例#7
0
 private static bool FindField(IAccount account, FieldTypeKey fieldTypeKey, string fieldValue)
 {
     return account.GetFieldsByKey(fieldTypeKey).Any(
         field => field.Value.ToString().Equals(fieldValue, StringComparison.OrdinalIgnoreCase)
     );
 }
示例#8
0
 private static bool FindField(IAccount account, FieldTypeKey fieldTypeKey, string fieldValue)
 {
     return(account.GetFieldsByKey(fieldTypeKey).Any(
                field => field.Value.ToString().Equals(fieldValue, StringComparison.OrdinalIgnoreCase)
                ));
 }
示例#9
0
 public void SetField(FieldTypeKey fieldTypeKey, object value)
 {
     var field = _fields.SingleOrDefault(f => f.FieldType.Key == fieldTypeKey);
     if (field == null) {
         var newField = _fieldTypes.CreateField(fieldTypeKey, value);
         _fields.Add(newField);
     } else {
         field.Value = value;
     }
 }
示例#10
0
 public IField[] GetFieldsByKey(FieldTypeKey fieldTypeKey)
 {
     return _fields.Where(field => field.FieldType.Key == fieldTypeKey);
 }
示例#11
0
 public IField[] GetFieldsByKey(FieldTypeKey fieldTypeKey)
 {
     return(_fields.Where(field => field.FieldType.Key == fieldTypeKey));
 }