public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { var jsonObject = JObject.Load(reader); var field = default(IIntegrationSetupField); var fieldToken = jsonObject["FieldType"]; if (fieldToken is null) { fieldToken = jsonObject["fieldType"]; } switch (fieldToken.ToString()) { case nameof(CheckboxField): field = new CheckboxField(); break; case nameof(ShortTextField): field = new ShortTextField(); break; case nameof(LongTextField): field = new LongTextField(); break; case nameof(SsmlField): field = new SsmlField(); break; case nameof(SelectField): field = new SelectField(); break; case nameof(SwitchField): field = new SwitchField(); break; } serializer.Populate(jsonObject.CreateReader(), field); return(field); }
private void CreateSpecificContent(HttpContext context, string contentTypeName, IFolder parentNode, HttpPostedFile postedFile) { ContentFacade contentFacade = new ContentFacade(); contentFacade.CreateNew(contentTypeName, ((Node)parentNode)); if (CheckAllowedContentType(parentNode as GenericContent, contentFacade.CurrentContent.ContentHandler, context)) { // set name ShortTextField sf = contentFacade.CurrentContent.Fields["Name"] as ShortTextField; var fn = System.IO.Path.GetFileName(postedFile.FileName); sf.SetData(fn); // set binary BinaryData b = CreateBinaryData(postedFile); BinaryField bf = contentFacade.CurrentContent.Fields["Binary"] as BinaryField; bf.SetData(b); contentFacade.CurrentContent.Save(); } }