Пример #1
0
 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);
     }
 }
Пример #2
0
 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;
     }
 }
Пример #3
0
        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;
                }
            }
        }