public static KindOfField ConvertFromDTO(KindOfFieldDTO kd) { KindOfField k = new KindOfField(); k.KindOfFieldId = kd.KindOfFieldId; k.Name = kd.Name; return(k); }
public static KindOfFieldDTO ConvertToDTO(KindOfField k) { KindOfFieldDTO kd = new KindOfFieldDTO(); kd.KindOfFieldId = k.KindOfFieldId; kd.Name = k.Name; return(kd); }
public static List <KindOfField> ConvertToListFromDTO(List <KindOfFieldDTO> lkd) { List <KindOfField> lk = new List <KindOfField>(); for (int i = 0; i < lkd.LongCount(); i++) { KindOfField k = new KindOfField(); k.KindOfFieldId = lkd[i].KindOfFieldId; k.Name = lkd[i].Name; lk.Add(k); } return(lk); }
public virtual string GenerateMListFieldName(PropertyRoute route, KindOfField kindOfField) { Type type = Lite.Extract(route.Type) ?? route.Type; switch (kindOfField) { case KindOfField.Value: case KindOfField.Embedded: return(type.Name.FirstUpper()); case KindOfField.Enum: case KindOfField.Reference: return((EnumEntity.Extract(type)?.Name ?? Reflector.CleanTypeName(type)) + "ID"); default: throw new InvalidOperationException("No field name for type {0} defined".FormatWith(type)); } }
public virtual string GenerateFieldName(PropertyRoute route, KindOfField kindOfField) { string name = route.PropertyInfo != null ? (route.PropertyInfo.Name.TryAfterLast('.') ?? route.PropertyInfo.Name) : route.FieldInfo.Name.FirstUpper(); switch (kindOfField) { case KindOfField.PrimaryKey: case KindOfField.Ticks: case KindOfField.Value: case KindOfField.Embedded: case KindOfField.MList: //se usa solo para el nombre de la tabla return(name); case KindOfField.Reference: case KindOfField.Enum: return(name + "ID"); default: throw new InvalidOperationException("No name for {0} defined".FormatWith(route.FieldInfo.Name)); } }
protected virtual Field GenerateField(ITable table, PropertyRoute route, NameSequence preName, bool forceNull, bool inMList) { KindOfField kof = GetKindOfField(route).ThrowIfNull(() => "Field {0} of type {1} has no database representation".FormatWith(route, route.Type.Name)); if (kof == KindOfField.MList && inMList) { throw new InvalidOperationException("Field {0} of type {1} can not be nested in another MList".FormatWith(route, route.Type.TypeName(), kof)); } //field name generation NameSequence name; ColumnNameAttribute vc = Settings.FieldAttribute <ColumnNameAttribute>(route); if (vc != null && vc.Name.HasText()) { name = NameSequence.Void.Add(vc.Name); } else if (route.PropertyRouteType != PropertyRouteType.MListItems) { name = preName.Add(GenerateFieldName(route, kof)); } else if (kof == KindOfField.Enum || kof == KindOfField.Reference) { name = preName.Add(GenerateMListFieldName(route, kof)); } else { name = preName; } switch (kof) { case KindOfField.PrimaryKey: return(GenerateFieldPrimaryKey((Table)table, route, name)); case KindOfField.Ticks: return(GenerateFieldTicks((Table)table, route, name)); case KindOfField.Value: return(GenerateFieldValue(table, route, name, forceNull)); case KindOfField.Reference: { Implementations at = Settings.GetImplementations(route); if (at.IsByAll) { return(GenerateFieldImplementedByAll(route, table, name, forceNull)); } else if (at.Types.Only() == route.Type.CleanType()) { return(GenerateFieldReference(table, route, name, forceNull)); } else { return(GenerateFieldImplementedBy(table, route, name, forceNull, at.Types)); } } case KindOfField.Enum: return(GenerateFieldEnum(table, route, name, forceNull)); case KindOfField.Embedded: return(GenerateFieldEmbedded(table, route, name, forceNull, inMList)); case KindOfField.MList: return(GenerateFieldMList((Table)table, route, name)); default: throw new NotSupportedException(EngineMessage.NoWayOfMappingType0Found.NiceToString().FormatWith(route.Type)); } }