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

            if (obj != null)
            {
                HelperJsonConverter.WritePropertyValue("$id", HelperJsonConverter.GetReferenceInternal(obj), writer, serializer);
                HelperJsonConverter.WritePropertyType <ViewField>(writer, serializer, obj);
                HelperJsonConverter.WritePropertyValue("AllowAdvancedSearch", obj.AllowAdvancedSearch, writer, serializer);
                HelperJsonConverter.WritePropertyValue("AllowEdit", obj.AllowEdit, writer, serializer);
                HelperJsonConverter.WritePropertyValue("AllowMassiveUpdate", obj.AllowMassiveUpdate, writer, serializer);
                HelperJsonConverter.WritePropertyValue("AllowMultiEdit", obj.AllowMultiEdit, writer, serializer);
                HelperJsonConverter.WritePropertyValue("AllowSearch", obj.AllowSearch, writer, serializer);
                HelperJsonConverter.WritePropertyValue("ColSpan", obj.ColSpan, writer, serializer);
                HelperJsonConverter.WritePropertyValue("DefaultValueCode", obj.DefaultValueCode, writer, serializer);
                HelperJsonConverter.WritePropertyObject <Link>("DrillDownLink", obj.DrillDownLink, writer, serializer);
                HelperJsonConverter.WritePropertyValue("EditableCondition", obj.EditableCondition, writer, serializer);
                HelperJsonConverter.WritePropertyValue("ImageFalseMode", obj.ImageFalseMode, writer, serializer);
                HelperJsonConverter.WritePropertyValue("ImageNameFalse", obj.ImageNameFalse, writer, serializer);
                HelperJsonConverter.WritePropertyValue("ImageNameTrue", obj.ImageNameTrue, writer, serializer);
                HelperJsonConverter.WritePropertyValue("ImageTrueMode", obj.ImageTrueMode, writer, serializer);
                HelperJsonConverter.WritePropertyValue("IsRequired", obj.IsRequired, writer, serializer);
                HelperJsonConverter.WritePropertyValue("IsVisible", obj.IsVisible, writer, serializer);
                HelperJsonConverter.WritePropertyValue("IsVisibleOnCreation", obj.IsVisibleOnCreation, writer, serializer);
                HelperJsonConverter.WritePropertyObject <ViewFieldLov>("Lov", obj.Lov, writer, serializer);
                HelperJsonConverter.WritePropertyValue("Name", obj.Name, writer, serializer);
                HelperJsonConverter.WritePropertyReference("Property", obj.Property, writer, serializer);
                HelperJsonConverter.WritePropertyValue("ReEvaluateVisibilityOnChange", obj.ReEvaluateVisibilityOnChange, writer, serializer);
                HelperJsonConverter.WritePropertyValue("RequiredCondition", obj.RequiredCondition, writer, serializer);
                HelperJsonConverter.WritePropertyValue("RowSpan", obj.RowSpan, writer, serializer);
                HelperJsonConverter.WritePropertyValue("SearchResource", obj.SearchResource, writer, serializer);
                HelperJsonConverter.WritePropertyValue("Sequence", obj.Sequence, writer, serializer);
                HelperJsonConverter.WritePropertyValue("ShowInCollapsedGrid", obj.ShowInCollapsedGrid, writer, serializer);
                HelperJsonConverter.WritePropertyValue("ShowInExpandedGrid", obj.ShowInCollapsedGrid, writer, serializer);
                HelperJsonConverter.WritePropertyReference("Title", obj.Title, writer, serializer);
                HelperJsonConverter.WritePropertyReference("Tooltip", obj.Tooltip, writer, serializer);
                HelperJsonConverter.WritePropertyValue("UseValueExpressionCode", obj.UseValueExpressionCode, writer, serializer);
                HelperJsonConverter.WritePropertyReference("Validator", obj.Validator, writer, serializer);
                HelperJsonConverter.WritePropertyValue("ValidatorCode", obj.ValidatorCode, writer, serializer);
                HelperJsonConverter.WritePropertyReference("ValidatorText", obj.ValidatorText, writer, serializer);
                HelperJsonConverter.WritePropertyValue("ValueExpressionCode", obj.ValueExpressionCode, writer, serializer);
                HelperJsonConverter.WritePropertyReference("ViewAdvancedSearch", obj.ViewAdvancedSearch, writer, serializer);
                HelperJsonConverter.WritePropertyValue("ViewAdvancedSearchCode", obj.ViewAdvancedSearchCode, writer, serializer);
                HelperJsonConverter.WritePropertyValue("ViewFieldType", obj.ViewFieldType, writer, serializer);
                HelperJsonConverter.WritePropertyValue("VisibilityCondition", obj.VisibilityCondition, writer, serializer);
            }
        }
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            ViewFieldLov obj = value as ViewFieldLov;

            if (obj != null)
            {
                writer.WriteStartObject();
                {
                    HelperJsonConverter.WritePropertyValue("$id", HelperJsonConverter.GetReferenceInternal(obj), writer, serializer);
                    HelperJsonConverter.WritePropertyType <ViewFieldLov>(writer, serializer, obj);
                    HelperJsonConverter.WritePropertyReference("DependantProperty", obj.DependantProperty, writer, serializer);
                    HelperJsonConverter.WritePropertyReference("DependantViewFieldLOV", obj.DependantViewFieldLOV, writer, serializer);
                    HelperJsonConverter.WritePropertyReference("DisplayProperty", obj.DisplayProperty, writer, serializer);
                    HelperJsonConverter.WritePropertyReference("EntityInternal", obj.EntityInternal, writer, serializer);
                    HelperJsonConverter.WritePropertyObject <Link>("InLineLink", obj.InLineLink, writer, serializer);
                    HelperJsonConverter.WritePropertyObjectsArray("LovsInternal", typeof(List <Lov>), obj.LovsInternal, (objchild) =>
                    {
                        serializer.Serialize(writer, objchild);
                    }, writer, serializer);


                    HelperJsonConverter.WritePropertyValue("OrderLovType", obj.OrderLovType, writer, serializer);
                    HelperJsonConverter.WritePropertyValue("RowLimit", obj.RowLimit, writer, serializer);
                    HelperJsonConverter.WritePropertyValuesArray("ShowPropertiesInternal", typeof(List <Guid>), obj.ShowPropertiesInternal, (objchild) =>
                    {
                        writer.WriteStartObject();
                        HelperJsonConverter.WritePropertyValue("$ref", objchild, writer, serializer);
                        writer.WriteEnd();
                    }, writer, serializer);


                    HelperJsonConverter.WritePropertyValue("SqlOrderBy", obj.SqlOrderBy, writer, serializer);
                    HelperJsonConverter.WritePropertyValue("SqlWhere", obj.SqlWhere, writer, serializer);
                    HelperJsonConverter.WritePropertyReference("ValueProperty", obj.ValueProperty, writer, serializer);
                }
            }
        }