public override AnyStatus Save(StackAppContext appContext, EntityModelBase model) { if (model.IsNew) { var entityId = model.GetValue <int>("entityid", 0); var length = model.GetValue <int>("length", 0); var type = model.GetValue <int>("fieldtype", 0); var fieldInfo = EntityMetaData.CreateField((FieldType)type); var baseType = fieldInfo.BaseType; model.SetTempInfo("basetypecode", baseType); if (length == 0) { if (baseType == TypeCode.String) { length = GetDefaultVarCharLength((FieldType)type); } else if (baseType == TypeCode.Decimal) { length = 6; } model.SetValue("length", length); } var fieldName = model.GetValue("fieldname", ""); var tableName = this.GetEntity(entityId).DBName; model.SetValue("tablename", tableName); model.SetValue("dbname", fieldName); } return(base.Save(appContext, model)); }