Ejemplo n.º 1
0
        public async Task BindModelAsync(ModelBindingContext bindingContext)
        {
            if (bindingContext == null)
            {
                throw new ArgumentNullException(nameof(bindingContext));
            }
            var jsonString = await ReadBodyAsString(bindingContext);

            var json = JObject.Parse(jsonString);
            var customEntityDefinitionCodeProperty = json.GetValue("CustomEntityDefinitionCode", StringComparison.OrdinalIgnoreCase);
            var dataModelConverter = GetDataTypeConverter(customEntityDefinitionCodeProperty?.Value <string>());

            if (dataModelConverter == null)
            {
                dataModelConverter = new NullModelJsonConverter <ICustomEntityDataModel>();
            }

            var result = JsonConvert.DeserializeObject(jsonString, bindingContext.ModelType, dataModelConverter);

            bindingContext.Result = ModelBindingResult.Success(result);
        }
Ejemplo n.º 2
0
        public async Task BindModelAsync(ModelBindingContext bindingContext)
        {
            if (bindingContext == null)
            {
                throw new ArgumentNullException(nameof(bindingContext));
            }
            var jsonString = await ReadBodyAsString(bindingContext);

            var json = JObject.Parse(jsonString);
            var pageBlockTypeIdProperty = json.GetValue("PageBlockTypeId", StringComparison.OrdinalIgnoreCase);
            var dataModelConverter      = await GetBlockDataTypeConverterAsync(pageBlockTypeIdProperty?.Value <int>());

            if (dataModelConverter == null)
            {
                dataModelConverter = new NullModelJsonConverter <IPageBlockTypeDataModel>();
            }

            var result = JsonConvert.DeserializeObject(jsonString, bindingContext.ModelType, dataModelConverter);

            bindingContext.Result = ModelBindingResult.Success(result);
        }