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);
        }
Exemple #2
0
        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();
            }
        }