public static CswEnumNbtObjectClassPropAttributes getObjectClassPropAttributesFromString(string AttributeName)
        {
            CswEnumNbtObjectClassPropAttributes ReturnVal = CswResources.UnknownEnum;

            ReturnVal = AttributeName;
            return(ReturnVal);
        }
        public static String getObjectClassPropAttributesAsString(CswEnumNbtObjectClassPropAttributes Attribute)
        {
            String ReturnVal = String.Empty;

            if (Attribute != CswResources.UnknownEnum)
            {
                ReturnVal = Attribute.ToString();
            }
            return(ReturnVal);
        }
        /// <summary>
        /// Update the attributes of an Object Class Prop, and cascade changes to existing NodeTypeProps
        /// </summary>
        public void UpdateObjectClassProp(CswNbtMetaDataObjectClassProp ObjectClassProp, CswEnumNbtObjectClassPropAttributes AttributeColumnName, object Value)
        {
            if (AttributeColumnName != CswResources.UnknownEnum)
            {
                string AttributeColumnNameString = CswNbtMetaDataObjectClassProp.getObjectClassPropAttributesAsString(AttributeColumnName);
                object DBValue = CswConvert.ToDbVal(Value);
                if (ObjectClassProp._DataRow[AttributeColumnNameString] != DBValue)
                {
                    ObjectClassProp._DataRow[AttributeColumnNameString] = DBValue;
                    if (AttributeColumnName == CswEnumNbtObjectClassPropAttributes.setvalonadd)
                    {
                        ObjectClassProp._DataRow[CswNbtMetaDataObjectClassProp.getObjectClassPropAttributesAsString(CswEnumNbtObjectClassPropAttributes.display_col_add)] = DBNull.Value;
                        ObjectClassProp._DataRow[CswNbtMetaDataObjectClassProp.getObjectClassPropAttributesAsString(CswEnumNbtObjectClassPropAttributes.display_row_add)] = DBNull.Value;
                    }
                    _CswNbtMetaDataResources.ObjectClassPropTableUpdate.update(ObjectClassProp._DataRow.Table);

                    foreach (CswNbtMetaDataNodeTypeProp NodeTypeProp in ObjectClassProp.getNodeTypeProps())
                    {
                        CswNbtFieldTypeAttribute attr = NodeTypeProp.getFieldTypeRule().getAttributes().FirstOrDefault(a => a.Column == AttributeColumnName);
                        if (null != attr)
                        {
                            CswNbtNodePropWrapper attrProp = NodeTypeProp.DesignNode.AttributeProperty[attr.Name];
                            attrProp.SetSubFieldValue(attrProp.NodeTypeProp.getFieldTypeRule().SubFields.Default, DBValue);
                        }
                        if (AttributeColumnName == CswEnumNbtObjectClassPropAttributes.setvalonadd)
                        {
                            if (CswConvert.ToBoolean(Value))
                            {
                                NodeTypeProp.updateLayout(CswEnumNbtLayoutType.Add, true);
                            }
                            else
                            {
                                NodeTypeProp.removeFromLayout(CswEnumNbtLayoutType.Add);
                            }
                        }
                    }
                }
            }
        } // UpdateObjectClassProp()