コード例 #1
0
        public FieldViewModel Create(SerializedField serializedField)
        {
            IEnumerable <SerializedFieldOption> cachedFieldOptions = new SerializedFieldOption[] { };

            if (!string.IsNullOrEmpty(serializedField.SerializedFieldOptions))
            {
                cachedFieldOptions = JsonConvert.DeserializeObject <IEnumerable <SerializedFieldOption> >(serializedField.SerializedFieldOptions);
            }

            return(new FieldViewModel()
            {
                Id = serializedField.FieldId,
                FieldType = new FieldTypeViewModel()
                {
                    Code = serializedField.FieldTypeCode
                },
                Name = serializedField.Name,
                Code = serializedField.Code,
                IsRequired = serializedField.IsRequired,
                MaxLength = serializedField.MaxLength,
                FieldOptions = cachedFieldOptions.Select(
                    fo => new FieldOptionViewModelFactory(this.RequestHandler).Create(fo)
                    ).ToList()
            });
        }
コード例 #2
0
        private SerializedField SerializeField(Culture culture, Field field)
        {
            List <SerializedFieldOption> serializedFieldOptions = new List <SerializedFieldOption>();

            foreach (FieldOption fieldOption in this.requestHandler.Storage.GetRepository <IFieldOptionRepository>().FilteredByFieldId(field.Id).ToList())
            {
                serializedFieldOptions.Add(this.SerializeFieldOption(culture, fieldOption));
            }

            SerializedField serializedField = new SerializedField();

            serializedField.FieldId       = field.Id;
            serializedField.FieldTypeCode = this.requestHandler.Storage.GetRepository <IFieldTypeRepository>().WithKey(field.FieldTypeId).Code;
            serializedField.Code          = field.Code;
            serializedField.Name          = this.requestHandler.GetLocalizationValue(field.NameId, culture.Id);
            serializedField.IsRequired    = field.IsRequired;
            serializedField.MaxLength     = field.MaxLength;
            serializedField.Position      = field.Position;

            if (serializedFieldOptions.Count != 0)
            {
                serializedField.SerializedFieldOptions = this.SerializeObject(serializedFieldOptions);
            }

            return(serializedField);
        }
コード例 #3
0
        public FormViewModel Create(SerializedForm serializedForm)
        {
            IEnumerable <SerializedField> serializedFields = new SerializedField[] { };

            if (!string.IsNullOrEmpty(serializedForm.SerializedFields))
            {
                serializedFields = JsonConvert.DeserializeObject <IEnumerable <SerializedField> >(serializedForm.SerializedFields);
            }

            return(new FormViewModel()
            {
                Id = serializedForm.FormId,
                Name = serializedForm.Name,
                Fields = serializedFields.Select(
                    sf => new FieldViewModelFactory(this.RequestHandler).Create(sf)
                    ).ToList()
            });
        }
コード例 #4
0
        public FormViewModel Create(SerializedForm serializedForm, string partialViewName, string additionalCssClass)
        {
            IEnumerable <SerializedField> serializedFields = new SerializedField[] { };

            if (!string.IsNullOrEmpty(serializedForm.SerializedFields))
            {
                serializedFields = JsonConvert.DeserializeObject <IEnumerable <SerializedField> >(serializedForm.SerializedFields);
            }

            return(new FormViewModel()
            {
                Id = serializedForm.FormId,
                Name = serializedForm.Name,
                SubmitButtonTitle = serializedForm.SubmitButtonTitle,
                Fields = serializedFields.Select(
                    sf => new FieldViewModelFactory(this.RequestHandler).Create(sf)
                    ).ToList(),
                PartialViewName = partialViewName ?? "_Form",
                AdditionalCssClass = additionalCssClass
            });
        }