예제 #1
0
        public bool AddOrMergeJson(string key, string payload, bool saveToRepository = false)
        {
            var newJsonDataModel = CreateJsonDataModelBridge(payload);

            if (newJsonDataModel == null)
            {
                return(false);
            }

            JsonDataModelBridge currentJsonDataModel = null;

            if (_jsonDataModel.TryGetDynamicChild(key, out DynamicChild <DataModel> child))
            {
                currentJsonDataModel = new JsonDataModelBridge(_savedJsonDynamicDataSetting.Value[key]);
                currentJsonDataModel.Merge(newJsonDataModel);
                child.Value = currentJsonDataModel.DataModel;
            }
            else
            {
                _jsonDataModel.AddDynamicChild(key, newJsonDataModel.DataModel);
            }

            if (saveToRepository)
            {
                SaveToRepository(key, currentJsonDataModel != null ? currentJsonDataModel.JObject.ToString() : newJsonDataModel.JObject.ToString());
            }

            return(true);
        }
예제 #2
0
 public void Merge(JsonDataModelBridge jsonDataModel)
 {
     JObject.Merge(jsonDataModel.JObject);
     DataModel = GetJsonDataModel(JObject);
 }