public dynamic LoadDynamicModel() { using (var cnn = DataDb.DbConnection()) { var obj = cnn.Query <dynamic>(string.Format("select {1} as Name, {2} as Content from {0}", TableName, keyColumn, valueColumn)).ToList(); dynamic dModel = new DynamicModel(); logger.Debug(obj); foreach (var o in obj) { dModel.Set(o.Name, o.Content); } return(dModel); } }
public dynamic LoadDynamicModel() { using (var cnn = DataDb.DbConnection()) { var obj = cnn.Query<dynamic>(string.Format("select {1} as Name, {2} as Content from {0}", TableName, keyColumn, valueColumn)).ToList(); dynamic dModel = new DynamicModel(); logger.Debug(obj); foreach (var o in obj) { dModel.Set(o.Name, o.Content); } return dModel; } }
private void CreateByJson(ObjectEnumerator obj, DynamicModel parent) { foreach (var item in obj) { DynamicModel model; switch (item.Value.ValueKind) { case JsonValueKind.Undefined: model = new DynamicModel(FieldType.String) { FdName = item.Name, FdValue = item.Value.GetString() }; parent.Set(model); break; case JsonValueKind.Object: model = new DynamicModel(FieldType.Object) { FdName = item.Name }; CreateByJson(item.Value.EnumerateObject(), model); parent.Set(model); break; case JsonValueKind.Array: model = new DynamicModel(FieldType.Array) { FdName = item.Name }; CreateByJson(item.Value.EnumerateArray(), model); parent.Set(model); break; case JsonValueKind.String: model = new DynamicModel(FieldType.String) { FdName = item.Name, FdValue = item.Value.GetString() }; parent.Set(model); break; case JsonValueKind.Number: model = new DynamicModel(FieldType.Decimal) { FdName = item.Name, FdValue = item.Value.GetInt32() }; parent.Set(model); break; case JsonValueKind.True: model = new DynamicModel(FieldType.Bool) { FdName = item.Name, FdValue = item.Value.GetBoolean() }; parent.Set(model); break; case JsonValueKind.False: model = new DynamicModel(FieldType.Bool) { FdName = item.Name, FdValue = item.Value.GetBoolean() }; parent.Set(model); break; case JsonValueKind.Null: model = new DynamicModel(FieldType.String) { FdName = item.Name, FdValue = null }; parent.Set(model); break; default: break; } } }