public override void update() { CswNbtMetaDataNodeType ChemicalNT = _CswNbtSchemaModTrnsctn.MetaData.getNodeType( "Chemical" ); if( null != ChemicalNT ) { CswNbtMetaDataNodeTypeProp ContainersNTP = ChemicalNT.getNodeTypeProp( "Chemical Containers" ); if( null != ContainersNTP ) { CswNbtViewId ChemContainersViewId = ContainersNTP.ViewId; CswNbtView ChemContainersView = _CswNbtSchemaModTrnsctn.restoreView( ChemContainersViewId ); CswNbtViewProperty DisposedViewProp = ChemContainersView.findPropertyByName( "Disposed" ); foreach( CswNbtViewPropertyFilter CurrentFilter in DisposedViewProp.Filters ) { CurrentFilter.ShowAtRuntime = true; } ChemContainersView.save(); }//if we ahve a containers NTP }//if we have a chemical NT CswNbtMetaDataObjectClass LocationOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.LocationClass ); foreach( CswNbtMetaDataNodeType CurrentLocationNT in LocationOC.getNodeTypes() ) { CswNbtMetaDataNodeTypeProp ContainersNTP = CurrentLocationNT.getNodeTypeProp( "Containers" ); if( null != ContainersNTP ) { CswNbtViewId ChemContainersViewId = ContainersNTP.ViewId; CswNbtView ChemContainersView = _CswNbtSchemaModTrnsctn.restoreView( ChemContainersViewId ); CswNbtViewProperty DisposedViewProp = ChemContainersView.findPropertyByName( "Disposed" ); foreach( CswNbtViewPropertyFilter CurrentFilter in DisposedViewProp.Filters ) { CurrentFilter.ShowAtRuntime = true; } ChemContainersView.save(); }//if we ahve a containers NTP }//iterate location node types } // update()
public override void update() { CswNbtMetaDataObjectClass ComponentOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass(CswEnumNbtObjectClass.MaterialComponentClass); CswNbtMetaDataObjectClassProp oldLowOCP = ComponentOC.getObjectClassProp(oldLowPercentageValue); CswNbtMetaDataObjectClassProp oldTargetOCP = ComponentOC.getObjectClassProp(oldTargetPercentageValue); CswNbtMetaDataObjectClassProp oldHighOCP = ComponentOC.getObjectClassProp(oldHighPercentageValue); CswNbtMetaDataObjectClassProp oldPercentageOCP = ComponentOC.getObjectClassProp(oldPercentageValue); if (null != oldLowOCP) { // Copy values from existing Low/Target/High to new PercentageRange CswNbtView CompFixView = _CswNbtSchemaModTrnsctn.makeView(); CompFixView.ViewName = "52299_compfixview"; CswNbtViewRelationship rel1 = CompFixView.AddViewRelationship(ComponentOC, false); CompFixView.AddViewPropertyAndFilter(rel1, oldLowOCP, Conjunction: CswEnumNbtFilterConjunction.Or, FilterMode: CswEnumNbtFilterMode.NotNull); CompFixView.AddViewPropertyAndFilter(rel1, oldTargetOCP, Conjunction: CswEnumNbtFilterConjunction.Or, FilterMode: CswEnumNbtFilterMode.NotNull); CompFixView.AddViewPropertyAndFilter(rel1, oldHighOCP, Conjunction: CswEnumNbtFilterConjunction.Or, FilterMode: CswEnumNbtFilterMode.NotNull); ICswNbtTree CompFixTree = _CswNbtSchemaModTrnsctn.getTreeFromView(CompFixView, IncludeSystemNodes: true); while (CompFixTree.getChildNodeCount() > 0) { for (Int32 c = 0; c < CompFixTree.getChildNodeCount(); c++) { CompFixTree.goToNthChild(c); CswNbtObjClassMaterialComponent CompNode = CompFixTree.getCurrentNode(); CompNode.PercentageRange.Lower = CompNode.Node.Properties[oldLowPercentageValue].AsNumber.Value; CompNode.PercentageRange.Target = CompNode.Node.Properties[oldTargetPercentageValue].AsNumber.Value; CompNode.PercentageRange.Upper = CompNode.Node.Properties[oldHighPercentageValue].AsNumber.Value; CompNode.PercentageRange.Units = "%"; CompNode.Node.Properties[oldLowPercentageValue].AsNumber.Value = Double.NaN; CompNode.Node.Properties[oldTargetPercentageValue].AsNumber.Value = Double.NaN; CompNode.Node.Properties[oldHighPercentageValue].AsNumber.Value = Double.NaN; CompNode.postChanges(false); CompFixTree.goToParentNode(); } // for( Int32 c = 0; c < CompFixTree.getChildNodeCount(); c++ ) // next iteration CompFixTree = _CswNbtSchemaModTrnsctn.getTreeFromView(CompFixView, IncludeSystemNodes: true); } // while( CompFixTree.getChildNodeCount() > 0 ) // Delete existing Low/Target/High _CswNbtSchemaModTrnsctn.MetaData.DeleteObjectClassProp(oldLowOCP, true); _CswNbtSchemaModTrnsctn.MetaData.DeleteObjectClassProp(oldTargetOCP, true); _CswNbtSchemaModTrnsctn.MetaData.DeleteObjectClassProp(oldHighOCP, true); _CswNbtSchemaModTrnsctn.MetaData.DeleteObjectClassProp(oldPercentageOCP, true); } // Set default value of Units to % foreach (CswNbtMetaDataNodeType NodeType in ComponentOC.getNodeTypes()) { CswNbtMetaDataNodeTypeProp PercentRangeNTP = NodeType.getNodeTypePropByObjectClassProp(CswNbtObjClassMaterialComponent.PropertyName.PercentageRange); PercentRangeNTP.DesignNode.AttributeProperty[CswNbtFieldTypeRuleNumericRange.AttributeName.DefaultValue].SetSubFieldValue(CswNbtFieldTypeRuleNumericRange.SubFieldName.Units, "%"); } // Set layout on nodetypes CswNbtSchemaUpdateLayoutMgr AddLayoutMgr = new CswNbtSchemaUpdateLayoutMgr(_CswNbtSchemaModTrnsctn, CswEnumNbtObjectClass.MaterialComponentClass, LayoutType: CswEnumNbtLayoutType.Add); AddLayoutMgr.First.moveProp(Row: 1, Column: 1, PropName: CswNbtObjClassMaterialComponent.PropertyName.Mixture); AddLayoutMgr.First.moveProp(Row: 2, Column: 1, PropName: CswNbtObjClassMaterialComponent.PropertyName.Constituent); AddLayoutMgr.First.moveProp(Row: 3, Column: 1, PropName: CswNbtObjClassMaterialComponent.PropertyName.PercentageRange); AddLayoutMgr.First.moveProp(Row: 4, Column: 1, PropName: CswNbtObjClassMaterialComponent.PropertyName.Active); AddLayoutMgr.First.moveProp(Row: 5, Column: 1, PropName: CswNbtObjClassMaterialComponent.PropertyName.HazardousReporting); CswNbtSchemaUpdateLayoutMgr EditLayoutMgr = new CswNbtSchemaUpdateLayoutMgr(_CswNbtSchemaModTrnsctn, CswEnumNbtObjectClass.MaterialComponentClass, LayoutType: CswEnumNbtLayoutType.Edit); EditLayoutMgr.First.moveProp(Row: 1, Column: 1, PropName: CswNbtObjClassMaterialComponent.PropertyName.Mixture); EditLayoutMgr.First.moveProp(Row: 2, Column: 1, PropName: CswNbtObjClassMaterialComponent.PropertyName.Constituent); EditLayoutMgr.First.moveProp(Row: 3, Column: 1, PropName: CswNbtObjClassMaterialComponent.PropertyName.PercentageRange); EditLayoutMgr.First.moveProp(Row: 4, Column: 1, PropName: CswNbtObjClassMaterialComponent.PropertyName.Active); EditLayoutMgr.First.moveProp(Row: 5, Column: 1, PropName: CswNbtObjClassMaterialComponent.PropertyName.HazardousReporting); // Fix Chemical Components Grid CswNbtMetaDataNodeType ChemicalNT = _CswNbtSchemaModTrnsctn.MetaData.getNodeType("Chemical"); if (null != ChemicalNT) { CswNbtMetaDataNodeTypeProp ComponentsNTP = ChemicalNT.getNodeTypeProp("Components"); if (null != ComponentsNTP) { CswNbtView ComponentsView = _CswNbtSchemaModTrnsctn.restoreView(ComponentsNTP.ViewId); CswNbtViewProperty percentageVP = ComponentsView.findPropertyByName("Percentage"); if (null != percentageVP) { CswNbtMetaDataObjectClassProp PercentageRangeOCP = ComponentOC.getObjectClassProp(CswNbtObjClassMaterialComponent.PropertyName.PercentageRange); percentageVP.Name = PercentageRangeOCP.PropName; percentageVP.ObjectClassPropId = PercentageRangeOCP.ObjectClassPropId; percentageVP.FieldType = CswEnumNbtFieldType.NumericRange.ToString(); ComponentsView.save(); } /* *<TreeView viewname="Components" version="1.0" iconfilename="Images/view/viewgrid.gif" selectable="true" mode="Grid" width="100" viewid="3293" category="" visibility="Property" * visibilityroleid="" visibilityuserid="" groupbysiblings="false" included="true" isdemo="false" issystem="false" gridgroupbycol=""> * <Relationship secondname="ChemicalClass" secondtype="ObjectClassId" secondid="147" secondiconfilename="atom.png" selectable="true" arbitraryid="root_OC_147" showintree="true" * allowaddchildren="True" allowview="True" allowedit="True" allowdelete="True" nodeidstofilterin="" nodeidstofilterout=""> * <Relationship propid="1373" propname="Mixture" proptype="ObjectClassPropId" propowner="Second" firstname="ChemicalClass" firsttype="ObjectClassId" firstid="147" * secondname="MaterialComponentClass" secondtype="ObjectClassId" secondid="315" secondiconfilename="atom.png" selectable="true" arbitraryid="root_OC_147_OC_3151373" * showintree="true" allowaddchildren="True" allowview="True" allowedit="True" allowdelete="True" nodeidstofilterin="" nodeidstofilterout=""> * <Property type="ObjectClassPropId" nodetypepropid="-2147483648" objectclasspropid="1374" name="Constituent" arbitraryid="root_OC_147_OC_3151373_OCP_1374" sortby="False" * sortmethod="Ascending" fieldtype="Relationship" order="1" width="" showingrid="True" /> * <Property type="ObjectClassPropId" nodetypepropid="-2147483648" objectclasspropid="1364" name="Percentage" arbitraryid="root_OC_147_OC_3151373_OCP_1364" sortby="False" * sortmethod="Ascending" fieldtype="Number" order="3" width="" showingrid="True" /> * <Relationship propid="1374" propname="Constituent" proptype="ObjectClassPropId" propowner="First" firstname="MaterialComponentClass" firsttype="ObjectClassId" * firstid="315" secondname="ChemicalClass" secondtype="ObjectClassId" secondid="147" secondiconfilename="atom.png" selectable="true" * arbitraryid="root_OC_147_OC_3151373_OC_1471374" showintree="true" allowaddchildren="True" allowview="True" allowedit="True" allowdelete="True" * nodeidstofilterin="" nodeidstofilterout=""> * <Property type="NodeTypePropId" nodetypepropid="5583" objectclasspropid="-2147483648" name="CAS No" arbitraryid="root_OC_147_OC_3151373_OC_1471374_NTP_5583" * sortby="False" sortmethod="Ascending" fieldtype="CASNo" order="2" width="" showingrid="True" /> * </Relationship> * </Relationship> * </Relationship> *</TreeView> */ } } }
private void setupGridColumns(DataSet DS, CswNbtView View) { _Grid.Columns.Clear(); // Edit column GridBoundColumn EditColumn = new GridBoundColumn(); EditColumn.UniqueName = "EditColumn"; EditColumn.HeaderText = "Edit"; EditColumn.DataField = "Edit"; EditColumn.Display = ShowActionColumns; _Grid.Columns.Add(EditColumn); // Node column GridBoundColumn NodeNameColumn = new GridBoundColumn(); NodeNameColumn.UniqueName = "NodeName"; NodeNameColumn.HeaderText = "Node Name"; NodeNameColumn.DataField = "NodeName"; // BZ 6704 NodeNameColumn.Visible = false; NodeNameColumn.Display = false; _Grid.Columns.Add(NodeNameColumn); // NodeKey column GridBoundColumn NodeKeyColumn = new GridBoundColumn(); NodeKeyColumn.UniqueName = "NodeKey"; NodeKeyColumn.HeaderText = "NodeKey"; NodeKeyColumn.DataField = "NodeKey"; NodeKeyColumn.Display = false; _Grid.Columns.Add(NodeKeyColumn); foreach (DataTable Table in DS.Tables) { foreach (DataColumn Column in Table.Columns) { string ColumnName = Column.ColumnName; if (ColumnName.Length > PropColumnPrefix.Length && ColumnName.Substring(0, PropColumnPrefix.Length) == PropColumnPrefix) { string NoPrefixColumnName = ColumnName.Substring(PropColumnPrefix.Length); //Int32 CurrentNodeTypePropId = CswConvert.ToInt32( NoPrefixColumnName.Substring( 0, NoPrefixColumnName.IndexOf( '_' ) ) ); string RealColumnName = CswTools.XmlRealAttributeName(NoPrefixColumnName); //.Substring( NoPrefixColumnName.IndexOf( '_' ) + 1 ) ); //CswNbtMetaDataNodeTypeProp CurrentNodeTypeProp = _CswNbtResources.MetaData.getNodeTypeProp( CurrentNodeTypePropId ); //CswNbtViewProperty CurrentViewProp = View.FindPropertyById( CswNbtPropType.NodeTypePropId, CurrentNodeTypePropId ); CswNbtViewProperty CurrentViewProp = View.findPropertyByName(RealColumnName); //if( CurrentViewProp == null ) // CurrentViewProp = View.FindPropertyByName( CurrentNodeTypeProp.PropName ); CswEnumNbtFieldType ColFieldType = CswNbtResources.UnknownEnum; if (CurrentViewProp != null) { if (((CswNbtViewRelationship)CurrentViewProp.Parent).SecondType == CswEnumNbtViewRelatedIdType.NodeTypeId) { CswNbtMetaDataNodeType CurrentNT = _CswNbtResources.MetaData.getNodeType(((CswNbtViewRelationship)CurrentViewProp.Parent).SecondId); CswNbtMetaDataNodeTypeProp CurrentNTP = CurrentNT.getNodeTypeProp(RealColumnName); if (CurrentNTP != null) { ColFieldType = CurrentNTP.getFieldTypeValue(); } } else if (((CswNbtViewRelationship)CurrentViewProp.Parent).SecondType == CswEnumNbtViewRelatedIdType.ObjectClassId) { CswNbtMetaDataObjectClass CurrentOC = _CswNbtResources.MetaData.getObjectClass(((CswNbtViewRelationship)CurrentViewProp.Parent).SecondId); foreach (CswNbtMetaDataNodeType CurrentNT in CurrentOC.getNodeTypes()) { CswNbtMetaDataNodeTypeProp CurrentNTP = CurrentNT.getNodeTypeProp(RealColumnName); if (CurrentNTP != null) { ColFieldType = CurrentNTP.getFieldTypeValue(); } } } } GridBoundColumn thisColumn = null; //switch( CurrentNodeTypeProp.FieldType.FieldType ) switch (ColFieldType) { case CswEnumNbtFieldType.DateTime: thisColumn = new GridDateTimeColumn(); thisColumn.DataFormatString = "{0:M/d/yyyy}"; thisColumn.DataType = typeof(DateTime); break; //case CswEnumNbtFieldType.Time: // thisColumn = new GridDateTimeColumn(); // thisColumn.DataFormatString = "{0:H:mm:ss}"; // thisColumn.DataType = typeof( DateTime ); // break; default: thisColumn = new GridBoundColumn(); break; } thisColumn.UniqueName = ColumnName; thisColumn.HeaderText = RealColumnName; thisColumn.DataField = ColumnName; if (CurrentViewProp != null && CurrentViewProp.Width != Int32.MinValue) { thisColumn.HeaderStyle.Width = Unit.Parse((CswConvert.ToInt32(CurrentViewProp.Width * 7)).ToString() + "px"); // average pixel width per character } //thisColumn.OrderIndex = CurrentViewProp.Order; //Telerik.Web.UI.GridTableView GTV = new GridTableView( _Grid ); if (CurrentViewProp != null && CurrentViewProp.Order > 0 && _Grid.Columns.Count >= CurrentViewProp.Order) { _Grid.Columns.AddAt(CurrentViewProp.Order, thisColumn); } else { _Grid.Columns.Add(thisColumn); } } } } // Delete column GridBoundColumn DeleteColumn = new GridBoundColumn(); DeleteColumn.UniqueName = "DeleteColumn"; DeleteColumn.HeaderText = "Delete"; DeleteColumn.DataField = "Delete"; DeleteColumn.Display = ShowActionColumns; _Grid.Columns.Add(DeleteColumn); } // setupGridColumns()