public override void update() { MaterialPS = _CswNbtSchemaModTrnsctn.MetaData.getPropertySet( CswEnumNbtPropertySetName.MaterialSet ); ChemicalOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.ChemicalClass ); //Set FK Type on all material-related props to Material PropertySet setPropFK( CswEnumNbtObjectClass.SizeClass, CswNbtObjClassSize.PropertyName.Material, "Size" ); setPropFK( CswEnumNbtObjectClass.DocumentClass, CswNbtObjClassDocument.PropertyName.Owner, "Material Document" ); setPropFK( CswEnumNbtObjectClass.InventoryLevelClass, CswNbtObjClassInventoryLevel.PropertyName.Material, "Inventory Level" ); setPropFK( CswEnumNbtObjectClass.ContainerClass, CswNbtObjClassContainer.PropertyName.Material, "Container" ); setPropFK( CswEnumNbtObjectClass.MaterialSynonymClass, CswNbtObjClassMaterialSynonym.PropertyName.Material, "Material Synonym" ); setPropFK( CswEnumNbtObjectClass.RequestContainerDispenseClass, CswNbtPropertySetRequestItem.PropertyName.Material, "Request Container Dispense" ); setPropFK( CswEnumNbtObjectClass.RequestContainerUpdateClass, CswNbtPropertySetRequestItem.PropertyName.Material, "Request Container Update" ); setPropFK( CswEnumNbtObjectClass.RequestMaterialCreateClass, CswNbtPropertySetRequestItem.PropertyName.Material, "Request Material Create" ); setPropFK( CswEnumNbtObjectClass.RequestMaterialCreateClass, CswNbtObjClassRequestMaterialCreate.PropertyName.NewMaterialType, "Request Material Create" ); setPropFK( CswEnumNbtObjectClass.RequestMaterialDispenseClass, CswNbtPropertySetRequestItem.PropertyName.Material, "Request Material Dispense" ); //Set FK Type on all chemical-related props to Chemical ObjectClass setPropFK( CswEnumNbtObjectClass.DocumentClass, CswNbtObjClassDocument.PropertyName.Owner, "SDS Document", true ); setPropFK( CswEnumNbtObjectClass.GHSClass, CswNbtObjClassGHS.PropertyName.Material, "GHS", true ); setPropFK( CswEnumNbtObjectClass.ReceiptLotClass, CswNbtObjClassReceiptLot.PropertyName.Material, "Receipt Lot", true ); setPropFK( CswEnumNbtObjectClass.ManufacturerEquivalentPartClass, CswNbtObjClassManufacturerEquivalentPart.PropertyName.Material, "Manufacturing Equivalent Part", true ); setPropFK( CswEnumNbtObjectClass.MaterialComponentClass, CswNbtObjClassMaterialComponent.PropertyName.Constituent, "Material Component", true ); setPropFK( CswEnumNbtObjectClass.MaterialComponentClass, CswNbtObjClassMaterialComponent.PropertyName.Mixture, "Material Component", true ); //Update all Material grid prop views to use MaterialSet as root relationship foreach( CswNbtMetaDataObjectClass MatOC in MaterialPS.getObjectClasses() ) { foreach( CswNbtMetaDataNodeType MaterialNT in MatOC.getNodeTypes() ) { if( null != MaterialNT ) { _updateSynonymsView( MaterialNT ); _updateDocumentsView( MaterialNT ); _updateSizesView( MaterialNT ); _updateInventoryLevelsView( MaterialNT ); _updateContainersView( MaterialNT ); } } } //Update ViewSelect views to use proper Material root relationship _updateUnapprovedMaterialsView(); _updateMissingHazardClassesView(); } // update()
public override void update() { List<CswPrimaryKey> MaterialPKs = new List<CswPrimaryKey>(); //Rename all existing material demo data CswNbtMetaDataPropertySet MaterialPS = _CswNbtSchemaModTrnsctn.MetaData.getPropertySet( CswEnumNbtPropertySetName.MaterialSet ); foreach( CswNbtMetaDataObjectClass MatOC in MaterialPS.getObjectClasses() ) { foreach( CswNbtPropertySetMaterial DemoMaterial in MatOC.getNodes( false, false, false ) ) { if( DemoMaterial.IsDemo ) { MaterialPKs.Add( DemoMaterial.NodeId ); DemoMaterial.TradeName.Text = DemoMaterial.TradeName.Text.Replace( "Default", "(demo)" ); DemoMaterial.ApprovedForReceiving.Checked = CswEnumTristate.True; DemoMaterial.postChanges( false ); } } } //Fix existing demo material sizes CswNbtMetaDataObjectClass SizeOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.SizeClass ); foreach( CswNbtObjClassSize DemoSize in SizeOC.getNodes( false, false ) ) { if( DemoSize.IsDemo && MaterialPKs.Contains( DemoSize.Material.RelatedNodeId ) ) { DemoSize.InitialQuantity.Quantity = 10; CswNbtPropertySetMaterial DemoMaterial = _CswNbtSchemaModTrnsctn.Nodes[DemoSize.Material.RelatedNodeId]; if( DemoMaterial.ObjectClass.ObjectClass == CswEnumNbtObjectClass.NonChemicalClass ) { CswNbtObjClassUnitOfMeasure CasesUnit = _getUnit( "Unit (Each)", "Cases" ); if( null != CasesUnit ) { DemoSize.InitialQuantity.UnitId = CasesUnit.NodeId; DemoSize.InitialQuantity.View.Root.ChildRelationships.Clear(); DemoSize.InitialQuantity.View.AddViewRelationship( CasesUnit.NodeType, true ); DemoSize.InitialQuantity.View.save(); } } DemoSize.postChanges( false ); } } } // update()