public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            ViewPanel obj = value as ViewPanel;

            if (obj != null)
            {
                writer.WriteStartObject();
                {
                    HelperJsonConverter.WritePropertyValue("$id", HelperJsonConverter.GetReferenceInternal(obj), writer, serializer);
                    HelperJsonConverter.WritePropertyType <ViewPanel>(writer, serializer, obj);
                    HelperJsonConverter.WritePropertyValue("ColCount", obj.ColCount, writer, serializer);
                    HelperJsonConverter.WritePropertyValue("ColSpan", obj.ColCount, writer, serializer);

                    HelperJsonConverter.WritePropertyObjectsArray("ControlsInternal", typeof(List <ViewControl>), obj.ControlsInternal, (objchild) =>
                    {
                        HelperJsonConverter.WritePropertyValue("ColSpan", objchild.ColSpan, writer, serializer);
                        HelperJsonConverter.WritePropertyValue("Name", objchild.Name, writer, serializer);
                        ViewPageControl vpc = (objchild as ViewPageControl);
                        if (vpc != null)
                        {
                            HelperJsonConverter.WritePropertyObjectsArray("ControlsInternal", typeof(List <ViewPanelPage>), vpc.PagesInternal, (objpage) =>
                            {
                                HelperJsonConverter.WritePropertyValue("ColCount", objpage.ColCount, writer, serializer);
                                HelperJsonConverter.WritePropertyValue("ColSpan", objpage.ColSpan, writer, serializer);

                                HelperJsonConverter.WritePropertyValue("DefaultPage", objpage.DefaultPage, writer, serializer);
                                HelperJsonConverter.WritePropertyValue("Name", objpage.Name, writer, serializer);
                                HelperJsonConverter.WritePropertyValue("PageNumber", objpage.PageNumber, writer, serializer);
                                HelperJsonConverter.WritePropertyValue("RowCount", objpage.RowCount, writer, serializer);
                                HelperJsonConverter.WritePropertyValue("RowSpan", objpage.RowSpan, writer, serializer);
                                HelperJsonConverter.WritePropertyValue("Sequence", objpage.Sequence, writer, serializer);
                                HelperJsonConverter.WritePropertyReference("Title", objpage.Title, writer, serializer);
                                HelperJsonConverter.WritePropertyValue("VisibilityCondition", objchild.VisibilityCondition, writer, serializer);
                            }, writer, serializer);
                        }
                        HelperJsonConverter.WritePropertyValue("RowSpan", objchild.RowSpan, writer, serializer);
                        HelperJsonConverter.WritePropertyValue("Sequence", objchild.Sequence, writer, serializer);
                        HelperJsonConverter.WritePropertyReference("Title", objchild.Title, writer, serializer);
                        HelperJsonConverter.WritePropertyValue("VisibilityCondition", objchild.VisibilityCondition, writer, serializer);
                    }, writer, serializer);

                    HelperJsonConverter.WritePropertyObjectsArray("FieldsInternal", typeof(List <ViewField>), obj.FieldsInternal, (objfield) =>
                    {
                    }, writer, serializer);

                    HelperJsonConverter.WritePropertyValue("Name", obj.Name, writer, serializer);
                    HelperJsonConverter.WritePropertyValue("RowCount", obj.RowCount, writer, serializer);
                    HelperJsonConverter.WritePropertyValue("RowSpan", obj.RowSpan, writer, serializer);
                    HelperJsonConverter.WritePropertyValue("Sequence", obj.Sequence, writer, serializer);
                    HelperJsonConverter.WritePropertyReference("Title", obj.Title, writer, serializer);
                    HelperJsonConverter.WritePropertyValue("VisibilityCondition", obj.VisibilityCondition, writer, serializer);
                }
            }
        }
Exemplo n.º 2
0
        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
        {
            if (reader.TokenType == JsonToken.Null)
            {
                return(null);
            }

            JObject         jObject = JObject.Load(reader);
            ViewPageControl target  = default(ViewPageControl);

            /*if (jObject != null)
             * {
             *  target = Create(objectType);
             *  target.CheckStatus = (CheckStatus)Enum.Parse(typeof(CheckStatus), jObject["CheckStatus"].Value<string>());
             *  target.Description = jObject["Description"].Value<string>();
             *  target.TableName = jObject["TableName"].Value<string>();
             *  target.FromMetadata = jObject["FromMetadata"].Value<bool>();
             *  target.Guid = Guid.Parse(jObject["Guid"].Value<string>());
             *  target.IsDataWarehouse = jObject["IsDataWarehouse"].Value<bool>();
             *  target.Name = jObject["Name"].Value<string>();
             *  target.PluralName = jObject["PluralName"]["$ref"].Value<string>();
             *  target.SingularName = jObject["SingularName"]["$ref"].Value<string>();
             *
             *  if (jObject["PropertiesInternal"]["$values"].HasValues)
             *      foreach (var flchild in jObject["PropertiesInternal"]["$values"])
             *      {
             *          Property f = new Property();
             *          f.Name = flchild["Name"].Value<string>();
             *          f.Guid = Guid.Parse(flchild["Guid"].Value<string>());
             *          f.ColumnName = flchild["Name"].Value<string>();
             *          f.DataType = (PropertyDataType)Enum.Parse(typeof(PropertyDataType), flchild["DataType"].Value<string>());
             *          f.DefaultValue = flchild["DefaultValue"].Value<string>();
             *          f.Guid = Guid.Parse(flchild["Guid"].Value<string>());
             *          f.Help = flchild["Help"].Value<string>();
             *          f.IsActiveProperty = flchild["IsActiveProperty"].Value<bool>();
             *          f.IsCustomField = flchild["IsCustomField"].Value<bool>();
             *          f.IsDataWarehouse = flchild["IsDataWarehouse"].Value<bool>();
             *          f.IsIndex = flchild["IsIndex"].Value<bool>();
             *          f.IsPrimaryKey = flchild["IsPrimaryKey"].Value<bool>();
             *          f.IsReadOnly = flchild["IsReadOnly"].Value<bool>();
             *          f.IsRequiered = flchild["IsRequiered"].Value<bool>();
             *          f.IsVisible = flchild["IsVisible"].Value<bool>();
             *          f.Lenght = flchild["Lenght"].Value<int>();
             *          f.Precision = flchild["Precision"].Value<int>();
             *          if (flchild["Title"].HasValues)
             *              f.Title = flchild["Title"]["$ref"].Value<string>();
             *          if (flchild["Validator"].HasValues)
             *              f.Validator = flchild["Validator"]["$ref"].Value<string>();
             *
             *          target.AddProperty(f);
             *      }
             * }*/
            return(target);
        }