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
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); } } }