Beispiel #1
0
        private List <AddmlCode> GetCodes(fieldDefinition fieldDefinition)
        {
            code[] codes = fieldDefinition.codes;
            if (codes == null)
            {
                return(null);
            }

            List <AddmlCode> addmlCodes = new List <AddmlCode>();

            foreach (code c in codes)
            {
                addmlCodes.Add(new AddmlCode(c.codeValue, c.explan));
            }
            return(addmlCodes);
        }
Beispiel #2
0
        private FieldIndex GetForeignKeyIndex(recordDefinition recordDefinition,
                                              fieldDefinition fieldDefinition)
        {
            key[] keys = recordDefinition.keys;
            if (keys != null)
            {
                foreach (key key in keys)
                {
                    fieldDefinitionReference[] keyFieldDefinitionReferences = key.fieldDefinitionReferences;
                    foreach (fieldDefinitionReference fieldDefinitionReference in keyFieldDefinitionReferences)
                    {
                        if (fieldDefinitionReference.name.Equals(fieldDefinition.name))
                        {
                            object o = key.Item;
                            if (o is foreignKey)
                            {
                                foreignKey        f       = (foreignKey)o;
                                List <FieldIndex> indexes = GetForeignKeyIndexes(f);

                                // TODO: Is it possible to have reference to more than one AddmlFieldDefinition?
                                if (indexes.Count != 1)
                                {
                                    throw new AddmlDefinitionParseException(
                                              "foreignKey must reference exactly one fieldDefinitionReference. " + f);
                                }

                                FieldIndex index = indexes[0];

                                // Må puttes på til slutt!
                                return(index);

                                /*
                                 * if (!_allFieldDefinitions.ContainsKey(index))
                                 * {
                                 *  return null;
                                 * }
                                 *
                                 * return _allFieldDefinitions[index];
                                 */
                            }
                        }
                    }
                }
            }

            return(null);
        }
Beispiel #3
0
 private bool IsPartOfPrimaryKey(recordDefinition recordDefinition, fieldDefinition fieldDefinition)
 {
     key[] keys = recordDefinition.keys;
     if (keys != null)
     {
         foreach (key key in keys)
         {
             fieldDefinitionReference[] keyFieldDefinitionReferences = key.fieldDefinitionReferences;
             foreach (fieldDefinitionReference fieldDefinitionReference in keyFieldDefinitionReferences)
             {
                 if (fieldDefinitionReference.name.Equals(fieldDefinition.name))
                 {
                     object o = key.Item;
                     if (o is primaryKey)
                     {
                         return(true);
                     }
                 }
             }
         }
     }
     return(false);
 }
Beispiel #4
0
 private bool IsUnique(fieldDefinition fieldDefinition)
 {
     return(fieldDefinition.unique != null);
 }
Beispiel #5
0
 private bool IsNullable(fieldDefinition fieldDefinition)
 {
     return(fieldDefinition.notNull == null);
 }
Beispiel #6
0
 private int?GetMinLength(fieldDefinition fieldDefinition)
 {
     return(fieldDefinition.minLength == null ? (int?)null : int.Parse(fieldDefinition.minLength));
 }
Beispiel #7
0
 private int?GetEndPosition(fieldDefinition fieldDefinition)
 {
     return(fieldDefinition.endPos == null ? (int?)null : int.Parse(fieldDefinition.endPos));
 }
Beispiel #8
0
 private int?GetStartPosition(fieldDefinition fieldDefinition)
 {
     return(fieldDefinition.startPos == null ? (int?)null : int.Parse(fieldDefinition.startPos));
 }
Beispiel #9
0
 public FieldIndex(flatFileDefinition flatFileDefinition, recordDefinition recordDefinition,
                   fieldDefinition fieldDefinition)
     : this(flatFileDefinition.name, recordDefinition.name, fieldDefinition.name)
 {
 }