/// <summary> /// Update logic /// </summary> public override void update() { // Set the Request Item's Size Relationship View CswNbtMetaDataObjectClass RequestItemOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswNbtMetaDataObjectClass.NbtObjectClass.RequestItemClass ); CswNbtMetaDataObjectClass SizeOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswNbtMetaDataObjectClass.NbtObjectClass.SizeClass ); CswNbtMetaDataObjectClassProp RequestItemMaterialOCP = RequestItemOC.getObjectClassProp( CswNbtObjClassRequestItem.PropertyName.Material ); CswNbtMetaDataObjectClassProp SizeMaterialOCP = SizeOC.getObjectClassProp( CswNbtObjClassSize.PropertyName.Material ); foreach( CswNbtMetaDataNodeType RequestItemNT in RequestItemOC.getNodeTypes() ) { CswNbtMetaDataNodeTypeProp RequestItemSizeNTP = RequestItemNT.getNodeTypePropByObjectClassProp( CswNbtObjClassRequestItem.PropertyName.Size ); CswNbtView SizeView = _CswNbtSchemaModTrnsctn.restoreView( RequestItemSizeNTP.ViewId ); SizeView.Root.ChildRelationships.Clear(); CswNbtViewRelationship RequestItemViewRel = SizeView.AddViewRelationship( RequestItemOC, false ); CswNbtViewRelationship MaterialViewRel = SizeView.AddViewRelationship( RequestItemViewRel, NbtViewPropOwnerType.First, RequestItemMaterialOCP, true ); CswNbtViewRelationship SizeViewRel = SizeView.AddViewRelationship( MaterialViewRel, NbtViewPropOwnerType.Second, SizeMaterialOCP, true ); //Case 27438 CswNbtMetaDataObjectClass SizeOc = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswNbtMetaDataObjectClass.NbtObjectClass.SizeClass ); CswNbtMetaDataNodeType SizeNt = SizeOc.FirstNodeType; CswNbtMetaDataNodeTypeProp DispensableNtp = SizeNt.getNodeTypePropByObjectClassProp( CswNbtObjClassSize.PropertyName.Dispensable ); SizeView.AddViewPropertyAndFilter( ParentViewRelationship: SizeViewRel, MetaDataProp: DispensableNtp, Value: Tristate.False.ToString(), SubFieldName: CswNbtSubField.SubFieldName.Checked, FilterMode: CswNbtPropFilterSql.PropertyFilterMode.NotEquals ); SizeView.save(); } }//Update()
public override void update() { CswNbtMetaDataObjectClass ChemicalOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.ChemicalClass ); CswNbtMetaDataObjectClass RequestItemOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.RequestItemClass ); foreach( CswNbtMetaDataNodeType RequestItemNT in RequestItemOC.getNodeTypes() ) { //Set NewMaterialType default value CswNbtMetaDataNodeTypeProp NewMaterialTypeNTP = RequestItemNT.getNodeTypePropByObjectClassProp( CswNbtObjClassRequestItem.PropertyName.NewMaterialType ); if( null != ChemicalOC.FirstNodeType && null != NewMaterialTypeNTP ) { NewMaterialTypeNTP.DefaultValue.AsNodeTypeSelect.SelectedNodeTypeIds.Add( ChemicalOC.FirstNodeType.NodeTypeId.ToString() ); } CswNbtMetaDataNodeTypeProp DescriptionNTP = RequestItemNT.getNodeTypePropByObjectClassProp( CswNbtObjClassRequestItem.PropertyName.Description ); //Set RequestItem name template RequestItemNT.setNameTemplateText( CswNbtMetaData.MakeTemplateEntry( DescriptionNTP.PropName ) ); //Hide Internal Flags and States CswNbtMetaDataNodeTypeProp TypeNTP = RequestItemNT.getNodeTypePropByObjectClassProp( CswNbtObjClassRequestItem.PropertyName.Type ); TypeNTP.Hidden = true; CswNbtMetaDataNodeTypeProp IsFavoriteNTP = RequestItemNT.getNodeTypePropByObjectClassProp( CswNbtObjClassRequestItem.PropertyName.IsFavorite ); IsFavoriteNTP.Hidden = true; CswNbtMetaDataNodeTypeProp IsRecurringNTP = RequestItemNT.getNodeTypePropByObjectClassProp( CswNbtObjClassRequestItem.PropertyName.IsRecurring ); IsRecurringNTP.Hidden = true; //Remove all props from all layouts foreach( CswNbtMetaDataNodeTypeProp Prop in RequestItemNT.getNodeTypeProps() ) { if( Prop.PropName != CswNbtObjClass.PropertyName.Save ) { Prop.removeFromAllLayouts(); } } //Give CRUD permissions to applicable Roles and Users CswNbtMetaDataObjectClass RoleOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.RoleClass ); foreach( CswNbtObjClassRole RoleNode in RoleOC.getNodes( false, false, false, true ) ) { _CswNbtSchemaModTrnsctn.Permit.set( CswEnumNbtNodeTypePermission.View, RequestItemNT, RoleNode, RoleNode.Administrator.Checked == CswEnumTristate.True || RoleNode.Name.Text.Contains( "CISPro" ) ); if( RoleNode.Administrator.Checked == CswEnumTristate.True || ( RoleNode.Name.Text.Contains( "CISPro" ) && RoleNode.Name.Text != "CISPro_View_Only" ) ) { _CswNbtSchemaModTrnsctn.Permit.set( CswEnumNbtActionName.Submit_Request, RoleNode, true ); _CswNbtSchemaModTrnsctn.Permit.set( CswEnumNbtNodeTypePermission.Edit, RequestItemNT, RoleNode, true ); _CswNbtSchemaModTrnsctn.Permit.set( CswEnumNbtNodeTypePermission.Create, RequestItemNT, RoleNode, true ); _CswNbtSchemaModTrnsctn.Permit.set( CswEnumNbtNodeTypePermission.Delete, RequestItemNT, RoleNode, true ); } } } _updateAddLayout(); _updateEditLayout(); _updatePreviewLayout(); _updateTableLayout(); _updateRequestViews(); } // update()