public static void MapFlatSimple(this LightDBDefinitionSet defs, IDataField dataField, IDataFieldDefinition fieldDef, Dictionary<string, List<SimpleDataColumn>> mappedFields) { var tableField = ((SimpleFlatFieldDefinition)fieldDef); AddMapping(defs, defs.GetDefaultTables(dataField.DataHolderDefinition), tableField, mappedFields, (FlatSimpleDataField)dataField, dataField.MappedMember); }
public static void MapNestedArray(this LightDBDefinitionSet defs, IDataField dataField, IDataFieldDefinition fieldDef, Dictionary<string, List<SimpleDataColumn>> mappedFields) { var arrField = (NestedArrayFieldDefinition)fieldDef; var arrDataField = (NestedArrayDataField)dataField; var defaultTables = defs.EnsureTables(arrField.Table, dataField.DataHolderDefinition); var segments = arrField.Segments; for (var i = 0; i < segments.Length; i++) { var segment = segments[i]; var cols = segment.GetColumns(arrDataField.Length); for (var j = 0; j < cols.Length; j++) { var col = cols[j]; var arrAccessor = (NestedArrayAccessor)arrDataField.ArrayAccessors[j]; IDataField fieldAccessor; if (!arrAccessor.InnerFields.TryGetValue(segment.Name, out fieldAccessor)) { throw new DataHolderException("NestedArray definition {0} refered to non-existing field {1}", arrDataField, segment); } AddMapping(defs, defaultTables, col, mappedFields, (IFlatDataFieldAccessor)fieldAccessor, fieldAccessor.MappedMember); } } }
public static void MapNestedSimple(this LightDBDefinitionSet defs, IDataField dataField, IDataFieldDefinition fieldDef, Dictionary<string, List<SimpleDataColumn>> mappedFields) { var nestedFieldDefinition = ((INestedFieldDefinition)fieldDef); nestedFieldDefinition.EnsureFieldsNotNull(dataField.DataHolderDefinition.Name); defs.AddFieldMappings(nestedFieldDefinition.Fields, ((NestedSimpleDataField)dataField).InnerFields, mappedFields); }
public static void MapNestedArray(this LightDBDefinitionSet defs, IDataField dataField, IDataFieldDefinition fieldDef, Dictionary <string, List <SimpleDataColumn> > mappedFields) { NestedArrayFieldDefinition arrayFieldDefinition = (NestedArrayFieldDefinition)fieldDef; NestedArrayDataField nestedArrayDataField = (NestedArrayDataField)dataField; TableDefinition[] defaultTables = defs.EnsureTables(arrayFieldDefinition.Table, dataField.DataHolderDefinition); foreach (FlatArrayFieldDefinition segment in arrayFieldDefinition.Segments) { SimpleFlatFieldDefinition[] columns = segment.GetColumns(nestedArrayDataField.Length); for (int index = 0; index < columns.Length; ++index) { SimpleFlatFieldDefinition fieldDef1 = columns[index]; IDataField dataField1; if (!((NestedArrayAccessor)nestedArrayDataField.ArrayAccessors[index]).InnerFields.TryGetValue( segment.Name, out dataField1)) { throw new DataHolderException("NestedArray definition {0} refered to non-existing field {1}", new object[2] { (object)nestedArrayDataField, (object)segment }); } LightDBMgr.AddMapping(defs, defaultTables, fieldDef1, mappedFields, (IFlatDataFieldAccessor)dataField1, dataField1.MappedMember); } } }
internal void AddFieldMapping(IEnumerable <IDataFieldDefinition> fieldDefs, IDataField dataField, Dictionary <string, List <SimpleDataColumn> > mappedFields) { IDataFieldDefinition fieldDef = fieldDefs .Where(def => def.Name.Equals(dataField.Name, StringComparison.InvariantCultureIgnoreCase)) .FirstOrDefault(); if (fieldDef == null) { string name = dataField.MappedMember.DeclaringType.Name; LightDBMgr.OnInvalidData( "DataField \"" + dataField + "\" in Type " + name + " (DataHolder: {0}) is not mapped.", (object)dataField.DataHolderDefinition); } else { if (fieldDef.DataFieldType != dataField.DataFieldType) { string fullName = dataField.MappedMember.DeclaringType.FullName; throw new DataHolderException( "DataField \"" + dataField + "\" in Type " + fullName + " is {0}, but was defined as: {1}", (object)dataField.DataFieldType, (object)fieldDef.DataFieldType); } LightDBMgr.DataFieldHandlers[(int)dataField.DataFieldType](this, dataField, fieldDef, mappedFields); } }
public static void MapFlatSimple(this LightDBDefinitionSet defs, IDataField dataField, IDataFieldDefinition fieldDef, Dictionary <string, List <SimpleDataColumn> > mappedFields) { SimpleFlatFieldDefinition fieldDef1 = (SimpleFlatFieldDefinition)fieldDef; LightDBMgr.AddMapping(defs, defs.GetDefaultTables(dataField.DataHolderDefinition), fieldDef1, mappedFields, (IFlatDataFieldAccessor)dataField, dataField.MappedMember); }
public static void MapNestedSimple(this LightDBDefinitionSet defs, IDataField dataField, IDataFieldDefinition fieldDef, Dictionary <string, List <SimpleDataColumn> > mappedFields) { INestedFieldDefinition field = (INestedFieldDefinition)fieldDef; field.EnsureFieldsNotNull(dataField.DataHolderDefinition.Name); defs.AddFieldMappings((IEnumerable <IDataFieldDefinition>)field.Fields, (IDictionary <string, IDataField>)((NestedDataField)dataField).InnerFields, mappedFields); }
public static void MapFlatArray(this LightDBDefinitionSet defs, IDataField dataField, IDataFieldDefinition fieldDef, Dictionary<string, List<SimpleDataColumn>> mappedFields) { var arrFieldDef = (FlatArrayFieldDefinition)fieldDef; var arrDataField = (FlatArrayDataField)dataField; var defaultTables = defs.EnsureTables(arrFieldDef.Table, dataField.DataHolderDefinition); var cols = arrFieldDef.GetColumns(arrDataField.Length); var accessors = arrDataField.ArrayAccessors; for (var i = 0; i < cols.Length; i++) { var col = cols[i]; AddMapping(defs, defaultTables, col, mappedFields, (IFlatDataFieldAccessor)accessors[i], dataField.MappedMember); } }
public static void MapFlatArray(this LightDBDefinitionSet defs, IDataField dataField, IDataFieldDefinition fieldDef, Dictionary <string, List <SimpleDataColumn> > mappedFields) { FlatArrayFieldDefinition arrayFieldDefinition = (FlatArrayFieldDefinition)fieldDef; FlatArrayDataField flatArrayDataField = (FlatArrayDataField)dataField; TableDefinition[] defaultTables = defs.EnsureTables(arrayFieldDefinition.Table, dataField.DataHolderDefinition); SimpleFlatFieldDefinition[] columns = arrayFieldDefinition.GetColumns(flatArrayDataField.Length); IDataFieldAccessor[] arrayAccessors = flatArrayDataField.ArrayAccessors; for (int index = 0; index < columns.Length; ++index) { SimpleFlatFieldDefinition fieldDef1 = columns[index]; LightDBMgr.AddMapping(defs, defaultTables, fieldDef1, mappedFields, (IFlatDataFieldAccessor)arrayAccessors[index], dataField.MappedMember); } }
public static void MapNestedArray(this LightDBDefinitionSet defs, IDataField dataField, IDataFieldDefinition fieldDef, Dictionary <string, List <SimpleDataColumn> > mappedFields) { var arrField = (NestedArrayFieldDefinition)fieldDef; var arrDataField = (NestedArrayDataField)dataField; var defaultTables = defs.EnsureTables(arrField.Table, dataField.DataHolderDefinition); var segments = arrField.Segments; for (var i = 0; i < segments.Length; i++) { var segment = segments[i]; var cols = segment.GetColumns(arrDataField.Length); for (var j = 0; j < cols.Length; j++) { var col = cols[j]; var arrAccessor = (NestedArrayAccessor)arrDataField.ArrayAccessors[j]; IDataField fieldAccessor; if (!arrAccessor.InnerFields.TryGetValue(segment.Name, out fieldAccessor)) { throw new DataHolderException("NestedArray definition {0} refered to non-existing field {1}", arrDataField, segment); } AddMapping(defs, defaultTables, col, mappedFields, (IFlatDataFieldAccessor)fieldAccessor, fieldAccessor.MappedMember); } } }
public static void MapFlatArray(this LightDBDefinitionSet defs, IDataField dataField, IDataFieldDefinition fieldDef, Dictionary <string, List <SimpleDataColumn> > mappedFields) { var arrFieldDef = (FlatArrayFieldDefinition)fieldDef; var arrDataField = (FlatArrayDataField)dataField; var defaultTables = defs.EnsureTables(arrFieldDef.Table, dataField.DataHolderDefinition); var cols = arrFieldDef.GetColumns(arrDataField.Length); var accessors = arrDataField.ArrayAccessors; for (var i = 0; i < cols.Length; i++) { var col = cols[i]; AddMapping(defs, defaultTables, col, mappedFields, (IFlatDataFieldAccessor)accessors[i], dataField.MappedMember); } }
public static void MapNestedSimple(this LightDBDefinitionSet defs, IDataField dataField, IDataFieldDefinition fieldDef, Dictionary <string, List <SimpleDataColumn> > mappedFields) { var nestedFieldDefinition = ((INestedFieldDefinition)fieldDef); nestedFieldDefinition.EnsureFieldsNotNull(dataField.DataHolderDefinition.Name); defs.AddFieldMappings(nestedFieldDefinition.Fields, ((NestedSimpleDataField)dataField).InnerFields, mappedFields); }
public static void MapFlatSimple(this LightDBDefinitionSet defs, IDataField dataField, IDataFieldDefinition fieldDef, Dictionary <string, List <SimpleDataColumn> > mappedFields) { var tableField = ((SimpleFlatFieldDefinition)fieldDef); AddMapping(defs, defs.GetDefaultTables(dataField.DataHolderDefinition), tableField, mappedFields, (FlatSimpleDataField)dataField, dataField.MappedMember); }