Example #1
0
        public CswNbtSubField this[CswEnumNbtSubFieldName Name]
        {
            get
            {
                CswNbtSubField ReturnVal = null;

                //if( string.Empty != Name )//bz # 6629: Default behavior when no subfield name is given
                //{

                foreach (CswNbtSubField CurrentSubField in this)
                {
                    if (CurrentSubField.Name == Name)
                    {
                        ReturnVal = CurrentSubField;
                        break;
                    }
                }
                //}
                //else
                //{
                //    ReturnVal = this[ CswEnumNbtPropColumn.Field1 ];
                //}

                return(ReturnVal);
            }
        }//index by sub field name
Example #2
0
 public CswNbtSubField(CswNbtFieldResources CswNbtFieldResources, CswEnumNbtPropColumn DefaultColumn, CswEnumNbtSubFieldName SubFieldName, bool Reportable = false)
 {
     _CswNbtFieldResources = CswNbtFieldResources;
     Name         = SubFieldName;
     Table        = "jct_nodes_props"; // default
     Column       = DefaultColumn;
     isReportable = Reportable;
 }
        } // DeleteObjectClass()

        /// <summary>
        /// Set the default value for an object class prop, and cascade the change to all existing NodeTypeProps
        /// </summary>
        /// <param name="ObjectClassProp"></param>
        /// <param name="Value"></param>
        /// <param name="SubFieldName">Optional. Use the default subfield if null.</param>
        ///
        public void SetObjectClassPropDefaultValue(CswNbtMetaDataObjectClassProp ObjectClassProp, object Value, CswEnumNbtSubFieldName SubFieldName = null)
        {
            if (null != ObjectClassProp)
            {
                SubFieldName = SubFieldName ?? ObjectClassProp.getFieldTypeRule().SubFields.Default.Name;
                ObjectClassProp.DefaultValue.SetPropRowValue(SubFieldName, ObjectClassProp.getFieldTypeRule().SubFields[SubFieldName].Column, Value);
                // We're going to regret this day
                ObjectClassProp.DefaultValue.SetPropRowValue(CswEnumNbtSubFieldName.Gestalt, CswEnumNbtPropColumn.Gestalt, Value);

                foreach (CswNbtMetaDataNodeTypeProp NodeTypeProp in ObjectClassProp.getNodeTypeProps())
                {
                    //NodeTypeProp.DefaultValue.SetPropRowValue( ObjectClassProp.getFieldTypeRule().SubFields[SubFieldName].Column, Value );
                    //NodeTypeProp.DefaultValue.SetPropRowValue( CswEnumNbtSubFieldName.Gestalt, CswEnumNbtPropColumn.Gestalt, Value );
                    NodeTypeProp.getDefaultValue(true).SetSubFieldValue(SubFieldName, Value);
                }
            }
        }