private bool _isMostRecentContainerLocation(CswNbtResources _CswNbtResources, CswNbtObjClassContainerLocation ContainerLocation) { bool isMostRecent = true; CswNbtView ContainerLocationsView = new CswNbtView(_CswNbtResources); CswNbtMetaDataObjectClass ContainerLocationOc = _CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.ContainerLocationClass); CswNbtViewRelationship ParentRelationship = ContainerLocationsView.AddViewRelationship(ContainerLocationOc, true); ParentRelationship.NodeIdsToFilterOut.Add(ContainerLocation.NodeId); CswNbtMetaDataObjectClassProp ContainerOcp = ContainerLocationOc.getObjectClassProp(CswNbtObjClassContainerLocation.PropertyName.Container); ContainerLocationsView.AddViewPropertyAndFilter(ParentRelationship, MetaDataProp: ContainerOcp, Value: ContainerLocation.Container.RelatedNodeId.PrimaryKey.ToString(), SubFieldName: CswNbtFieldTypeRuleRelationship.SubFieldName.NodeID, FilterMode: CswEnumNbtFilterMode.Equals); CswNbtMetaDataObjectClassProp ScanDateOcp = ContainerLocationOc.getObjectClassProp(CswNbtObjClassContainerLocation.PropertyName.ScanDate); ContainerLocationsView.AddViewPropertyAndFilter(ParentRelationship, MetaDataProp: ScanDateOcp, Value: ContainerLocation.ScanDate.DateTimeValue.ToString(), SubFieldName: CswNbtFieldTypeRuleDateTime.SubFieldName.Value, FilterMode: CswEnumNbtFilterMode.GreaterThan); ICswNbtTree ContainerLocationsTree = _CswNbtResources.Trees.getTreeFromView(ContainerLocationsView, false, false, false); if (ContainerLocationsTree.getChildNodeCount() > 0) { isMostRecent = false; } return(isMostRecent); }
} // GeneratedNodeCount public CswNbtView GetGeneratedTargetsView( DateTime TargetDay ) { CswNbtView View = new CswNbtView( _CswNbtResources ); View.ViewName = "Generated Node Count"; CswNbtMetaDataNodeType TargetNT = _CswNbtResources.MetaData.getNodeType( CswConvert.ToInt32( TargetType.SelectedNodeTypeIds[0] ) ); CswNbtMetaDataNodeTypeProp GeneratorNTP = TargetNT.getNodeTypePropByObjectClassProp( CswNbtPropertySetGeneratorTarget.PropertyName.Generator ); CswNbtMetaDataNodeTypeProp CreatedDateNTP = TargetNT.getNodeTypePropByObjectClassProp( CswNbtPropertySetGeneratorTarget.PropertyName.CreatedDate ); CswNbtViewRelationship TargetRel = View.AddViewRelationship( TargetNT, false ); View.AddViewPropertyAndFilter( TargetRel, GeneratorNTP, Conjunction: CswEnumNbtFilterConjunction.And, ResultMode: CswEnumNbtFilterResultMode.Hide, Value: this.NodeId.PrimaryKey.ToString(), SubFieldName: ( (CswNbtFieldTypeRuleRelationship) GeneratorNTP.getFieldTypeRule() ).NodeIDSubField.Name, FilterMode: CswEnumNbtFilterMode.Equals ); if( DateTime.MinValue != TargetDay ) { View.AddViewPropertyAndFilter( TargetRel, CreatedDateNTP, Conjunction: CswEnumNbtFilterConjunction.And, ResultMode: CswEnumNbtFilterResultMode.Hide, Value: TargetDay.Date.ToString(), FilterMode: CswEnumNbtFilterMode.Equals ); } return View; }
public override void archiveMatchingDocs() { //Archives existing Documents related to the same Owner. if( Archived.Checked != CswEnumTristate.True ) { CswNbtNode OwnerNode = _CswNbtResources.Nodes.GetNode( Owner.RelatedNodeId ); if( null != OwnerNode ) { CswNbtView ExistingDocsView = new CswNbtView( _CswNbtResources ); CswNbtViewRelationship DocumentVr = ExistingDocsView.AddViewRelationship( NodeType, false ); ExistingDocsView.AddViewPropertyAndFilter( DocumentVr, Owner.NodeTypeProp, OwnerNode.NodeId.PrimaryKey.ToString(), CswNbtFieldTypeRuleRelationship.SubFieldName.NodeID ); ExistingDocsView.AddViewPropertyAndFilter( DocumentVr, Archived.NodeTypeProp, CswEnumTristate.True.ToString(), FilterMode : CswEnumNbtFilterMode.NotEquals ); ICswNbtTree Tree = _CswNbtResources.Trees.getTreeFromView( ExistingDocsView, true, false, false ); Int32 DocCount = Tree.getChildNodeCount(); if( DocCount > 0 ) { for( Int32 I = 0; I < DocCount; I += 1 ) { Tree.goToNthChild( I ); CswNbtNode DocNode = Tree.getNodeForCurrentPosition(); if( DocNode.NodeId != NodeId ) { CswNbtObjClassCofADocument DocNodeAsDocument = DocNode; DocNodeAsDocument.Archived.Checked = CswEnumTristate.True; DocNode.postChanges( true ); } Tree.goToParentNode(); } } } } }
//takes the default request view, adds items, and filters by favorites public CswNbtView getFavoriteRequestsItemsView() { CswNbtView Ret = new CswNbtView(_CswNbtResources) { Category = "Request Configuration", Visibility = CswEnumNbtViewVisibility.Hidden, ViewMode = CswEnumNbtViewRenderingMode.Grid, ViewName = FavoriteItemsViewName, GridGroupByCol = CswNbtObjClassRequestItem.PropertyName.Name }; CswNbtViewRelationship RequestItemRel = Ret.AddViewRelationship(_RequestItemOC, false); CswNbtViewProperty NameVP = Ret.AddViewProperty(RequestItemRel, _RequestItemOC.getObjectClassProp(CswNbtObjClassRequestItem.PropertyName.Name), 1); NameVP.SortBy = true; Ret.AddViewPropertyFilter(NameVP, ShowAtRuntime: true); CswNbtViewProperty DescriptionVP = Ret.AddViewProperty(RequestItemRel, _RequestItemOC.getObjectClassProp(CswNbtObjClassRequestItem.PropertyName.Description), 2); DescriptionVP.Width = 50; CswNbtViewProperty InventoryGroupVP = Ret.AddViewProperty(RequestItemRel, _RequestItemOC.getObjectClassProp(CswNbtObjClassRequestItem.PropertyName.InventoryGroup), 3); InventoryGroupVP.Width = 30; CswNbtViewProperty LocationVP = Ret.AddViewProperty(RequestItemRel, _RequestItemOC.getObjectClassProp(CswNbtObjClassRequestItem.PropertyName.Location), 4); LocationVP.Width = 40; Ret.AddViewPropertyAndFilter(RequestItemRel, _RequestItemOC.getObjectClassProp(CswNbtObjClassRequestItem.PropertyName.Requestor), Value: "me", ShowInGrid: false); Ret.AddViewPropertyAndFilter(RequestItemRel, _RequestItemOC.getObjectClassProp(CswNbtObjClassRequestItem.PropertyName.IsFavorite), Value: CswNbtNodePropLogical.toLogicalGestalt(CswEnumTristate.True), ShowInGrid: false); return(Ret); }
// onButtonClick() private bool areMoreActionsRequired() //case 25041 { CswNbtView SiblingView = new CswNbtView(_CswNbtResources); SiblingView.ViewName = "SiblingView"; CswNbtViewRelationship ParentRelationship = SiblingView.AddViewRelationship(this.NodeType, false); ParentRelationship.NodeIdsToFilterOut.Add(this.NodeId); SiblingView.AddViewPropertyAndFilter( ParentRelationship, this.NodeType.getNodeTypePropByObjectClassProp(PropertyName.Status), CswEnumNbtInspectionStatus.ActionRequired, CswNbtFieldTypeRuleList.SubFieldName.Value, false, CswEnumNbtFilterMode.Equals ); SiblingView.AddViewPropertyAndFilter( ParentRelationship, this.NodeType.getNodeTypePropByObjectClassProp(PropertyName.Target), this.Parent.RelatedNodeId.PrimaryKey.ToString(), CswNbtFieldTypeRuleRelationship.SubFieldName.NodeID, false, CswEnumNbtFilterMode.Equals ); ICswNbtTree SiblingTree = _CswNbtResources.Trees.getTreeFromView(_CswNbtResources.CurrentNbtUser, SiblingView, true, false, false); int NumOfSiblings = SiblingTree.getChildNodeCount(); return(0 < NumOfSiblings || Status.Value.Equals(CswEnumNbtInspectionStatus.ActionRequired)); }
public override void update() { // Create a view that the impersonation nodeselect uses CswNbtView ImpersonationView = _CswNbtSchemaModTrnsctn.makeNewView( "Impersonation NodeSelect View", CswEnumNbtViewVisibility.Hidden ); ImpersonationView.IsSystem = true; CswNbtMetaDataObjectClass UserOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.UserClass ); CswNbtMetaDataObjectClassProp UsernameOCP = UserOC.getObjectClassProp( CswNbtObjClassUser.PropertyName.Username ); CswNbtMetaDataObjectClassProp RoleOCP = UserOC.getObjectClassProp( CswNbtObjClassUser.PropertyName.Role ); CswNbtViewRelationship Parent = ImpersonationView.AddViewRelationship( UserOC, true ); ImpersonationView.AddViewPropertyAndFilter( ParentViewRelationship: Parent, MetaDataProp: UsernameOCP, Conjunction: CswEnumNbtFilterConjunction.And, Value: CswNbtObjClassUser.ChemSWAdminUsername, FilterMode: CswEnumNbtFilterMode.NotEquals ); ImpersonationView.AddViewPropertyAndFilter( ParentViewRelationship: Parent, MetaDataProp: RoleOCP, Conjunction: CswEnumNbtFilterConjunction.And, Value: CswNbtObjClassRole.ChemSWAdminRoleName, FilterMode: CswEnumNbtFilterMode.NotEquals, SubFieldName: CswEnumNbtSubFieldName.Name ); ImpersonationView.save(); } // update()
public CswNbtView getOutstandingContainerLocations(CswNbtResources _CswNbtResources) { CswNbtView ContainerLocationsView = new CswNbtView(_CswNbtResources); CswNbtMetaDataObjectClass ContainerLocationOc = _CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.ContainerLocationClass); CswNbtViewRelationship ParentRelationship = ContainerLocationsView.AddViewRelationship(ContainerLocationOc, true); CswNbtMetaDataObjectClassProp ActionAppliedOcp = ContainerLocationOc.getObjectClassProp(CswNbtObjClassContainerLocation.PropertyName.ActionApplied); ContainerLocationsView.AddViewPropertyAndFilter(ParentRelationship, MetaDataProp: ActionAppliedOcp, Value: CswEnumTristate.True.ToString(), SubFieldName: CswNbtFieldTypeRuleLogical.SubFieldName.Checked, FilterMode: CswEnumNbtFilterMode.NotEquals); CswNbtMetaDataObjectClassProp ActionOcp = ContainerLocationOc.getObjectClassProp(CswNbtObjClassContainerLocation.PropertyName.Action); ContainerLocationsView.AddViewPropertyAndFilter(ParentRelationship, MetaDataProp: ActionOcp, Value: String.Empty, SubFieldName: CswNbtFieldTypeRuleList.SubFieldName.Value, FilterMode: CswEnumNbtFilterMode.NotNull); ContainerLocationsView.AddViewPropertyAndFilter(ParentRelationship, MetaDataProp: ActionOcp, Value: CswEnumNbtContainerLocationActionOptions.Ignore.ToString(), SubFieldName: CswNbtFieldTypeRuleList.SubFieldName.Value, FilterMode: CswEnumNbtFilterMode.NotEquals); return(ContainerLocationsView); }
}//UpdateBalanceData() public static void listConnectedBalances( ICswResources CswResources, CswNbtBalanceReturn Return, object Request ) { CswNbtResources NbtResources = (CswNbtResources) CswResources; Return.Data.BalanceList = new Collection<SerialBalance>(); CswNbtMetaDataObjectClass BalanceOC = NbtResources.MetaData.getObjectClass( CswEnumNbtObjectClass.BalanceClass ); if( null != BalanceOC ) { CswNbtView ExistingBalancesView = new CswNbtView( NbtResources ); ExistingBalancesView.ViewName = "Connected Balances"; CswNbtViewRelationship BalanceRel = ExistingBalancesView.AddViewRelationship( BalanceOC, true ); //only add to the list of returned balances if it has had an announcement in the last 11 minutes ExistingBalancesView.AddViewPropertyAndFilter( BalanceRel, BalanceOC.getObjectClassProp( CswNbtObjClassBalance.PropertyName.LastActive ), SubFieldName: CswEnumNbtSubFieldName.Value, Value: DateTime.Now.Subtract( TimeSpan.FromMinutes( 11 ) ).ToString(), FilterMode: CswEnumNbtFilterMode.GreaterThan ); //only add to the list of returned balances if it is Operational ExistingBalancesView.AddViewPropertyAndFilter( BalanceRel, BalanceOC.getObjectClassProp( CswNbtObjClassBalance.PropertyName.Operational ), SubFieldName: CswEnumNbtSubFieldName.Checked, Value: CswEnumTristate.True, FilterMode: CswEnumNbtFilterMode.Equals ); ExistingBalancesView.AddViewPropertyAndFilter( BalanceRel, BalanceOC.getObjectClassProp( CswNbtObjClassBalance.PropertyName.Quantity ), SubFieldName: CswEnumNbtSubFieldName.Value, Value: "0", FilterMode: CswEnumNbtFilterMode.NotEquals ); ICswNbtTree BalanceTree = NbtResources.Trees.getTreeFromView( ExistingBalancesView, true, false, false ); int BalanceCount = BalanceTree.getChildNodeCount(); if( BalanceCount > 0 ) { BalanceTree.goToRoot(); for( int i = 0; i < BalanceCount; i++ ) { BalanceTree.goToNthChild( i ); CswNbtObjClassBalance Balance = BalanceTree.getCurrentNode(); Return.Data.BalanceList.Add( new SerialBalance { NbtName = Balance.Name.Text, CurrentWeight = Balance.Quantity.Quantity, UnitOfMeasurement = Balance.Quantity.CachedUnitName, NodeId = Balance.NodeId.ToString(), IsActive = ( Balance.LastActive.DateTimeValue + TimeSpan.FromMinutes( 10 ) > DateTime.Now ), } ); BalanceTree.goToParentNode(); } //for ( int i = 0; i < BalanceCount; i++ ) } //if( BalanceCount > 0 ) } //if ( null != BalanceOC ) }//listConnectedBalances( ICswResources CswResources, CswNbtBalanceReturn Return, object Request )
}//getBalanceInformation( ICswResources CswResources, CswNbtBalanceReturn Return, string Request ) private static CswNbtObjClassUnitOfMeasure _mapUnitToNode( CswNbtResources NbtResources, string UnitName ) { CswNbtObjClassUnitOfMeasure Unit = null; CswNbtMetaDataObjectClass UnitsOfMeasureOC = NbtResources.MetaData.getObjectClass( CswEnumNbtObjectClass.UnitOfMeasureClass ); CswNbtView MatchingUOMsView = new CswNbtView( NbtResources ); CswNbtViewRelationship ParentRelationship = MatchingUOMsView.AddViewRelationship( UnitsOfMeasureOC, false ); CswNbtMetaDataObjectClassProp NameOCP = UnitsOfMeasureOC.getObjectClassProp( CswNbtObjClassUnitOfMeasure.PropertyName.Name ); MatchingUOMsView.AddViewPropertyAndFilter( ParentRelationship, MetaDataProp: NameOCP, Value: UnitName, SubFieldName: CswEnumNbtSubFieldName.Text, FilterMode: CswEnumNbtFilterMode.Equals ); CswNbtMetaDataObjectClassProp AliasesOCP = UnitsOfMeasureOC.getObjectClassProp( CswNbtObjClassUnitOfMeasure.PropertyName.Aliases ); MatchingUOMsView.AddViewPropertyAndFilter( ParentRelationship, MetaDataProp: AliasesOCP, Value: "," + UnitName + ",", SubFieldName: CswEnumNbtSubFieldName.Text, FilterMode: CswEnumNbtFilterMode.Contains, Conjunction: CswEnumNbtFilterConjunction.Or ); MatchingUOMsView.AddViewPropertyAndFilter( ParentRelationship, MetaDataProp : AliasesOCP, Value : UnitName + ",", SubFieldName : CswEnumNbtSubFieldName.Text, FilterMode : CswEnumNbtFilterMode.Begins, Conjunction : CswEnumNbtFilterConjunction.Or ); MatchingUOMsView.AddViewPropertyAndFilter( ParentRelationship, MetaDataProp : AliasesOCP, Value : "," + UnitName, SubFieldName : CswEnumNbtSubFieldName.Text, FilterMode : CswEnumNbtFilterMode.Ends, Conjunction : CswEnumNbtFilterConjunction.Or ); MatchingUOMsView.AddViewPropertyAndFilter( ParentRelationship, MetaDataProp : AliasesOCP, Value : UnitName, SubFieldName : CswEnumNbtSubFieldName.Text, FilterMode : CswEnumNbtFilterMode.Equals, Conjunction : CswEnumNbtFilterConjunction.Or ); // Get and iterate the Tree ICswNbtTree MatchingUOMsTree = NbtResources.Trees.getTreeFromView( MatchingUOMsView, false, false, true ); int Count = MatchingUOMsTree.getChildNodeCount(); for( int i = 0; i < Count; i++ ) { MatchingUOMsTree.goToNthChild( i ); Unit = MatchingUOMsTree.getNodeForCurrentPosition(); MatchingUOMsTree.goToParentNode(); } return Unit; }//_mapUnitToNode( CswNbtResources NbtResources, string UnitName )
public void TogglePrintLabels(bool Hidden, CswEnumNbtModuleName Module) { CswNbtMetaDataObjectClass printLabelOC = _CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.PrintLabelClass); CswNbtMetaDataObjectClassProp nodetypesOCP = printLabelOC.getObjectClassProp(CswNbtObjClassPrintLabel.PropertyName.NodeTypes); CswNbtView printLabelsView = new CswNbtView(_CswNbtResources); CswNbtViewRelationship parent = printLabelsView.AddViewRelationship(printLabelOC, false); CswTableSelect childObjectClasses_TS = _CswNbtResources.makeCswTableSelect("getModuleChildren", "jct_modules_objectclass"); int moduleId = _CswNbtResources.Modules.GetModuleId(Module); DataTable childObjClasses_DT = childObjectClasses_TS.getTable("where moduleid = " + moduleId); bool first = true; foreach (DataRow Row in childObjClasses_DT.Rows) { int ObjClassId = CswConvert.ToInt32(Row["objectclassid"]); foreach (CswNbtMetaDataNodeType NodeType in _CswNbtResources.MetaData.getNodeTypes(ObjClassId)) { if (first) { printLabelsView.AddViewPropertyAndFilter(parent, nodetypesOCP, Value: NodeType.NodeTypeName, FilterMode: CswEnumNbtFilterMode.Contains); first = false; } else { printLabelsView.AddViewPropertyAndFilter(parent, nodetypesOCP, Value: NodeType.NodeTypeName, FilterMode: CswEnumNbtFilterMode.Contains, Conjunction: CswEnumNbtFilterConjunction.Or); } } } ICswNbtTree printLabelsTree = _CswNbtResources.Trees.getTreeFromView(printLabelsView, false, true, true); int childCount = printLabelsTree.getChildNodeCount(); for (int i = 0; i < childCount; i++) { printLabelsTree.goToNthChild(i); CswNbtNode printLabelNode = printLabelsTree.getNodeForCurrentPosition(); printLabelNode.Hidden = Hidden; printLabelNode.postChanges(false); printLabelsTree.goToParentNode(); } }
/// <summary> /// /// </summary> /// <param name="VendorName"></param> /// <returns></returns> public C3CreateMaterialResponse.State.Supplier constructVendorObject(string VendorName) { C3CreateMaterialResponse.State.Supplier Supplier = new C3CreateMaterialResponse.State.Supplier(); CswNbtView VendorView = new CswNbtView(_CswNbtResources); VendorView.ViewName = "VendorWithNameEquals"; CswNbtMetaDataObjectClass VendorOC = _CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.VendorClass); CswNbtViewRelationship ParentRelationship = VendorView.AddViewRelationship(VendorOC, true); CswNbtMetaDataObjectClassProp VendorNameOCP = VendorOC.getObjectClassProp(CswNbtObjClassVendor.PropertyName.VendorName); VendorView.AddViewPropertyAndFilter(ParentRelationship, VendorNameOCP, VendorName, CswEnumNbtSubFieldName.Text); // If MLM is enabled, we only want to match on corporate vendors if (_CswNbtResources.Modules.IsModuleEnabled(CswEnumNbtModuleName.MLM)) { CswNbtMetaDataObjectClassProp VendorTypeOCP = VendorOC.getObjectClassProp(CswNbtObjClassVendor.PropertyName.VendorTypeName); VendorView.AddViewPropertyAndFilter(ParentRelationship, VendorTypeOCP, CswNbtObjClassVendor.VendorTypes.Corporate, CswEnumNbtSubFieldName.Text); } ICswNbtTree VendorsTree = _CswNbtResources.Trees.getTreeFromView(VendorView, false, true, true); bool NewVendor = true; if (VendorsTree.getChildNodeCount() > 0) { NewVendor = false; VendorsTree.goToNthChild(0); CswNbtObjClassVendor VendorNode = VendorsTree.getNodeForCurrentPosition(); Supplier.name = CswConvert.ToString(VendorNode.VendorName.Text); Supplier.val = CswConvert.ToString(VendorNode.NodeId); Supplier.nodelink = CswConvert.ToString(VendorNode.Node.NodeLink); } if (NewVendor) { // Don't create a new node just return an empty value in the return object - Case 28687 Supplier.name = VendorName; Supplier.val = string.Empty; Supplier.nodelink = string.Empty; } Supplier.corporate = _CswNbtResources.Modules.IsModuleEnabled(CswEnumNbtModuleName.MLM); return(Supplier); }//createVendorNode()
}//_getUnitOfMeasure() private ICswNbtTree _createUoMView(string Value) { ICswNbtTree Ret; // Create the view CswNbtMetaDataObjectClass UnitsOfMeasureOC = _CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.UnitOfMeasureClass); CswNbtView MatchingUOMsView = new CswNbtView(_CswNbtResources); CswNbtViewRelationship ParentRelationship = MatchingUOMsView.AddViewRelationship(UnitsOfMeasureOC, false); CswNbtMetaDataObjectClassProp NameOCP = UnitsOfMeasureOC.getObjectClassProp(CswNbtObjClassUnitOfMeasure.PropertyName.Name); CswNbtMetaDataObjectClassProp AliasesOCP = UnitsOfMeasureOC.getObjectClassProp(CswNbtObjClassUnitOfMeasure.PropertyName.Aliases); MatchingUOMsView.AddViewPropertyAndFilter(ParentRelationship, MetaDataProp: NameOCP, Value: Value, SubFieldName: CswNbtFieldTypeRuleText.SubFieldName.Text, FilterMode: CswEnumNbtFilterMode.Equals); MatchingUOMsView.AddViewPropertyAndFilter(ParentRelationship, MetaDataProp: AliasesOCP, Value: "," + Value + ",", SubFieldName: CswEnumNbtSubFieldName.Text, FilterMode: CswEnumNbtFilterMode.Contains, Conjunction: CswEnumNbtFilterConjunction.Or); MatchingUOMsView.AddViewPropertyAndFilter(ParentRelationship, MetaDataProp: AliasesOCP, Value: Value + ",", SubFieldName: CswEnumNbtSubFieldName.Text, FilterMode: CswEnumNbtFilterMode.Begins, Conjunction: CswEnumNbtFilterConjunction.Or); MatchingUOMsView.AddViewPropertyAndFilter(ParentRelationship, MetaDataProp: AliasesOCP, Value: "," + Value, SubFieldName: CswEnumNbtSubFieldName.Text, FilterMode: CswEnumNbtFilterMode.Ends, Conjunction: CswEnumNbtFilterConjunction.Or); MatchingUOMsView.AddViewPropertyAndFilter(ParentRelationship, MetaDataProp: AliasesOCP, Value: Value, SubFieldName: CswEnumNbtSubFieldName.Text, FilterMode: CswEnumNbtFilterMode.Equals, Conjunction: CswEnumNbtFilterConjunction.Or); // Create the tree Ret = _CswNbtResources.Trees.getTreeFromView(MatchingUOMsView, false, false, true); return(Ret); }
private void OnContainerScanPropChange( CswNbtNodeProp Prop, bool Creating ) { if( null != ContainerScan.Text ) { CswNbtMetaDataObjectClass ContainerOc = _CswNbtResources.MetaData.getObjectClass( CswEnumNbtObjectClass.ContainerClass ); CswNbtView ContainerView = new CswNbtView( _CswNbtResources ); CswNbtViewRelationship ContainerRel = ContainerView.AddViewRelationship( ContainerOc, false ); CswNbtMetaDataObjectClassProp BarcodeOcp = ContainerOc.getObjectClassProp( CswNbtObjClassContainer.PropertyName.Barcode ); ContainerView.AddViewPropertyAndFilter( ContainerRel, BarcodeOcp, ContainerScan.Text ); ICswNbtTree ContainerTree = _CswNbtResources.Trees.getTreeFromView( ContainerView, false, false, true ); if( ContainerTree.getChildNodeCount() > 0 ) { ContainerTree.goToNthChild( 0 ); CswNbtObjClassContainer ContainerNode = ContainerTree.getNodeForCurrentPosition(); Container.RelatedNodeId = ContainerNode.NodeId; } else { Container.RelatedNodeId = null; } } _setStatus(); }
private CswCommaDelimitedString _getMaterialPKsForEP(CswPrimaryKey EPId) { CswCommaDelimitedString EPMaterialPks = new CswCommaDelimitedString(); CswNbtMetaDataObjectClass ManufacturerEquivalentPartOC = _CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.ManufacturerEquivalentPartClass); CswNbtMetaDataObjectClassProp EPOCP = ManufacturerEquivalentPartOC.getObjectClassProp(CswNbtObjClassManufacturerEquivalentPart.PropertyName.EnterprisePart); CswNbtMetaDataObjectClassProp MaterialOCP = ManufacturerEquivalentPartOC.getObjectClassProp(CswNbtObjClassManufacturerEquivalentPart.PropertyName.Material); CswNbtView EPMatsView = new CswNbtView(_CswNbtResources); EPMatsView.ViewName = "Materials under " + EPId; CswNbtViewRelationship MEPVR = EPMatsView.AddViewRelationship(ManufacturerEquivalentPartOC, false); EPMatsView.AddViewPropertyAndFilter(MEPVR, EPOCP, SubFieldName: CswEnumNbtSubFieldName.NodeID, Value: EPId.PrimaryKey.ToString()); CswNbtViewRelationship MatVR = EPMatsView.AddViewRelationship(MEPVR, CswEnumNbtViewPropOwnerType.First, MaterialOCP, false); ICswNbtTree EPMatsTree = _CswNbtResources.Trees.getTreeFromView(EPMatsView, false, true, true); for (int i = 0; i < EPMatsTree.getChildNodeCount(); i++) { EPMatsTree.goToNthChild(i); //EP's MEPs if (EPMatsTree.getChildNodeCount() > 0) { EPMatsTree.goToNthChild(0); //MEP's Material EPMaterialPks.Add(EPMatsTree.getNodeIdForCurrentPosition().PrimaryKey.ToString()); EPMatsTree.goToParentNode(); } EPMatsTree.goToParentNode(); } return(EPMaterialPks); }
public Collection<string> getCASNumbers() { Collection<string> ret = new Collection<string>(); CswNbtMetaDataObjectClass RegListCasNoOC = _CswNbtResources.MetaData.getObjectClass( CswEnumNbtObjectClass.RegulatoryListCasNoClass ); CswNbtMetaDataObjectClassProp RegListCasNoCasNoOCP = RegListCasNoOC.getObjectClassProp( CswNbtObjClassRegulatoryListCasNo.PropertyName.CASNo ); CswNbtMetaDataObjectClassProp RegListCasNoRegListOCP = RegListCasNoOC.getObjectClassProp( CswNbtObjClassRegulatoryListCasNo.PropertyName.RegulatoryList ); CswNbtView View = new CswNbtView( _CswNbtResources ); View.ViewName = "Reglist_getCASNumbers"; CswNbtViewRelationship casnoRel = View.AddViewRelationship( RegListCasNoOC, false ); View.AddViewProperty( casnoRel, RegListCasNoCasNoOCP ); View.AddViewPropertyAndFilter( casnoRel, RegListCasNoRegListOCP, SubFieldName: CswNbtFieldTypeRuleRelationship.SubFieldName.NodeID, FilterMode: CswEnumNbtFilterMode.Equals, Value: this.NodeId.PrimaryKey.ToString() ); ICswNbtTree Tree = _CswNbtResources.Trees.getTreeFromView( View, RequireViewPermissions: false, IncludeSystemNodes: true, IncludeHiddenNodes: true ); for( Int32 i = 0; i < Tree.getChildNodeCount(); i++ ) { Tree.goToNthChild( i ); CswNbtTreeNodeProp casnoTreeProp = Tree.getChildNodePropsOfNode().FirstOrDefault( p => p.ObjectClassPropName == RegListCasNoCasNoOCP.PropName ); if( null != casnoTreeProp ) { ret.Add( casnoTreeProp[( (CswNbtFieldTypeRuleCASNo) RegListCasNoCasNoOCP.getFieldTypeRule() ).TextSubField.Column] ); } Tree.goToParentNode(); } return ret; } // getCASNumbers()
} // InitActionPermissionOptions() private void _deleteRelatedPermissionNodes() { CswNbtView PermissionsView = new CswNbtView( _CswNbtResources ); CswNbtMetaDataPropertySet PermissionPS = _CswNbtResources.MetaData.getPropertySet( CswEnumNbtPropertySetName.PermissionSet ); CswNbtViewRelationship RootVR = PermissionsView.AddViewRelationship( PermissionPS, false ); CswNbtViewPropertyFilter Filter = null; foreach( CswNbtMetaDataObjectClass PermOC in PermissionPS.getObjectClasses() ) { if( Filter == null ) { CswNbtMetaDataNodeType PermNT = PermOC.FirstNodeType; if( null != PermNT ) { CswNbtMetaDataNodeTypeProp RoleOCP = PermNT.getNodeTypePropByObjectClassProp( CswNbtPropertySetPermission.PropertyName.Role ); Filter = PermissionsView.AddViewPropertyAndFilter( RootVR, MetaDataProp: RoleOCP, Value: NodeId.PrimaryKey.ToString(), SubFieldName: CswEnumNbtSubFieldName.NodeID, FilterMode: CswEnumNbtFilterMode.Equals ); } } else { break; } } ICswNbtTree PermissionsTree = _CswNbtResources.Trees.getTreeFromView( PermissionsView, false, true, true ); for( int i = 0; i < PermissionsTree.getChildNodeCount(); i++ ) { PermissionsTree.goToNthChild( i ); CswNbtNode PermissionNode = PermissionsTree.getNodeForCurrentPosition(); PermissionNode.delete(); PermissionsTree.goToRoot(); } }
public override void update() { CswNbtMetaDataObjectClass BatchOpOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.BatchOpClass ); foreach( CswNbtMetaDataNodeType BatchOpNT in BatchOpOC.getNodeTypes() ) { CswNbtMetaDataNodeTypeProp BatchOpIdNTP = BatchOpNT.getNodeTypeProp( "Batch Op Id" ); CswNbtView batchOpView = _CswNbtSchemaModTrnsctn.makeNewView( "BatchOps_51743", CswEnumNbtViewVisibility.Hidden ); CswNbtViewRelationship parent = batchOpView.AddViewRelationship( BatchOpNT, false ); batchOpView.AddViewPropertyAndFilter( parent, BatchOpIdNTP, FilterMode : CswEnumNbtFilterMode.Null ); ICswNbtTree batchOpsTree = _CswNbtSchemaModTrnsctn.getTreeFromView( batchOpView, true ); for( int i = 0; i < batchOpsTree.getChildNodeCount(); i++ ) { batchOpsTree.goToNthChild( i ); CswNbtObjClassBatchOp batchNode = batchOpsTree.getNodeForCurrentPosition(); batchNode.Node.Properties[BatchOpIdNTP].AsSequence.setSequenceValue(); batchNode.postChanges( false ); batchOpsTree.goToParentNode(); } } } // update()
private void _updateContainersView( CswNbtMetaDataNodeType MaterialNT ) { CswNbtMetaDataNodeTypeProp ContainersNTP = MaterialNT.getNodeTypeProp( MaterialNT.NodeTypeName + " Containers" ); if( null != ContainersNTP ) { CswNbtMetaDataObjectClass ContainerOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.ContainerClass ); CswNbtMetaDataObjectClassProp MatOCP = ContainerOC.getObjectClassProp( CswNbtObjClassContainer.PropertyName.Material ); CswNbtMetaDataObjectClassProp DisposedOCP = ContainerOC.getObjectClassProp( CswNbtObjClassContainer.PropertyName.Disposed ); CswNbtMetaDataObjectClassProp BarcodeOCP = ContainerOC.getObjectClassProp( CswNbtObjClassContainer.PropertyName.Barcode ); CswNbtMetaDataObjectClassProp QuantityOCP = ContainerOC.getObjectClassProp( CswNbtObjClassContainer.PropertyName.Quantity ); CswNbtMetaDataObjectClassProp StatusOCP = ContainerOC.getObjectClassProp( CswNbtObjClassContainer.PropertyName.Status ); CswNbtMetaDataObjectClassProp OwnerOCP = ContainerOC.getObjectClassProp( CswNbtObjClassContainer.PropertyName.Owner ); CswNbtMetaDataObjectClassProp LocationOCP = ContainerOC.getObjectClassProp( CswNbtObjClassContainer.PropertyName.Location ); CswNbtView ContainersView = _CswNbtSchemaModTrnsctn.ViewSelect.restoreView( ContainersNTP.ViewId ); ContainersView.Root.ChildRelationships.Clear(); CswNbtViewRelationship RootRel = ContainersView.AddViewRelationship( MaterialPS, false ); CswNbtViewRelationship MatRel = ContainersView.AddViewRelationship( RootRel, CswEnumNbtViewPropOwnerType.Second, MatOCP, true ); ContainersView.AddViewPropertyAndFilter( MatRel, DisposedOCP, CswEnumTristate.False.ToString(), FilterMode: CswEnumNbtFilterMode.Equals, ShowAtRuntime: false, ShowInGrid: false ); ContainersView.AddViewProperty( MatRel, BarcodeOCP, 1 ); ContainersView.AddViewProperty( MatRel, QuantityOCP, 2 ); ContainersView.AddViewProperty( MatRel, StatusOCP, 3 ); ContainersView.AddViewProperty( MatRel, OwnerOCP, 4 ); ContainersView.AddViewProperty( MatRel, LocationOCP, 5 ); ContainersView.save(); } }
/// <summary> /// Throws dni exception if other non-obsolete methods exist with the same prop number CIS-52300 /// </summary> /// <param name="NodeProp"></param> /// <param name="Creating"></param> private void _onAfterMethodNumberChange(CswNbtNodeProp NodeProp, bool Creating) { string thisMethodNo = MethodNo.Text; //create a view of all Method nodes CswNbtView MethodView = new CswNbtView(_CswNbtResources); MethodView.ViewName = "Check for Duplicate Method View"; //ignore already obsolete methods CswNbtViewRelationship MethodRelationship = MethodView.AddViewRelationship(ObjectClass, true); CswNbtMetaDataObjectClassProp MethodNoOCP = ObjectClass.getObjectClassProp(PropertyName.MethodNo); MethodView.AddViewPropertyAndFilter(MethodRelationship, MethodNoOCP, Value: thisMethodNo, FilterMode: CswEnumNbtFilterMode.Equals); ICswNbtTree MethodNodesTree = _CswNbtResources.Trees.getTreeFromView(MethodView, false, false, false); if (MethodNodesTree.getChildNodeCount() > 0) { throw new CswDniException(CswEnumErrorType.Warning, "Method number must be unique", "Found existing non-obsolete method with method number: " + thisMethodNo); } }//_onAfterMethodChange()
public override void update() { CswNbtMetaDataObjectClass invGrpOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( NbtObjectClass.InventoryGroupPermissionClass ); CswNbtMetaDataObjectClassProp workUnitOCP = invGrpOC.getObjectClassProp( CswNbtObjClassInventoryGroupPermission.PropertyName.WorkUnit ); CswNbtMetaDataObjectClass workUnitOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( NbtObjectClass.WorkUnitClass ); CswNbtMetaDataObjectClassProp nameOCP = workUnitOC.getObjectClassProp( CswNbtObjClassWorkUnit.PropertyName.Name ); CswNbtView workUnits = _CswNbtSchemaModTrnsctn.makeView(); CswNbtViewRelationship parent = workUnits.AddViewRelationship( workUnitOC, false ); workUnits.AddViewPropertyAndFilter( parent, nameOCP, Value: "Default Work Unit", FilterMode: CswNbtPropFilterSql.PropertyFilterMode.Equals ); ICswNbtTree tree = _CswNbtSchemaModTrnsctn.getTreeFromView( workUnits, true ); CswPrimaryKey nodeid = null; if( tree.getChildNodeCount() > 0 ) { tree.goToNthChild( 0 ); nodeid = tree.getNodeIdForCurrentPosition(); } if( null != nodeid ) { _CswNbtSchemaModTrnsctn.MetaData.SetObjectClassPropDefaultValue( workUnitOCP, nodeid.PrimaryKey, CswNbtSubField.SubFieldName.NodeID ); } } //Update()
} // OnDisable() private void _toggleMaterialSupplierView(bool MLMDisabled) { CswNbtMetaDataObjectClass vendorOC = _CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.VendorClass); CswNbtMetaDataPropertySet MaterialSet = _CswNbtResources.MetaData.getPropertySet(CswEnumNbtPropertySetName.MaterialSet); foreach (CswNbtMetaDataObjectClass materialOC in MaterialSet.getObjectClasses()) { foreach (CswNbtMetaDataNodeType materialNT in _CswNbtResources.MetaData.getNodeTypes(materialOC.ObjectClassId)) { CswNbtMetaDataNodeTypeProp supplierNTP = materialNT.getNodeTypePropByObjectClassProp(CswNbtObjClassChemical.PropertyName.Supplier); CswNbtView supplierView = _CswNbtResources.ViewSelect.restoreView(supplierNTP.ViewId); supplierView.Clear(); CswNbtViewRelationship parent = supplierView.AddViewRelationship(vendorOC, true); if (false == MLMDisabled) { CswNbtMetaDataObjectClassProp vendorTypeOCP = vendorOC.getObjectClassProp(CswNbtObjClassVendor.PropertyName.VendorTypeName); supplierView.AddViewPropertyAndFilter(parent, MetaDataProp: vendorTypeOCP, Value: CswNbtObjClassVendor.VendorTypes.Corporate, FilterMode: CswEnumNbtFilterMode.Equals); } supplierView.Visibility = CswEnumNbtViewVisibility.Property; supplierView.ViewName = "Supplier"; supplierView.save(); } } }
} // runBatchOp() #region Private Helper Methods #region Helper Methods private CswNbtNode _getNodeFromBarcode(string barcode, CswEnumNbtObjectClass objClassType, string barcodePropertyName, bool IncludeDefaultFilters = true) { CswNbtNode returnNode = null; CswNbtView objClassView = new CswNbtView(_CswNbtResources); CswNbtMetaDataObjectClass objClass = _CswNbtResources.MetaData.getObjectClass(objClassType); CswNbtMetaDataObjectClassProp barcodeOCP = objClass.getObjectClassProp(barcodePropertyName); CswNbtViewRelationship parent = objClassView.AddViewRelationship(objClass, IncludeDefaultFilters); objClassView.AddViewPropertyAndFilter(parent, MetaDataProp: barcodeOCP, Value: barcode, FilterMode: CswEnumNbtFilterMode.Equals); ICswNbtTree Tree = _CswNbtResources.Trees.getTreeFromView(objClassView, false, true, true); Tree.goToRoot(); for (int i = 0; i < Tree.getChildNodeCount(); i++) { Tree.goToNthChild(i); returnNode = Tree.getNodeForCurrentPosition(); Tree.goToParentNode(); } return(returnNode); }
}//listBalanceConfigurations() private static CswNbtObjClassBalanceConfiguration _findConfigurationWithName( CswNbtResources NbtResources, string Name ) { CswNbtObjClassBalanceConfiguration Ret = null; CswNbtMetaDataObjectClass BalanceConfigurationOC = NbtResources.MetaData.getObjectClass( CswEnumNbtObjectClass.BalanceConfigurationClass ); CswNbtMetaDataObjectClassProp ConfigNameOCP = BalanceConfigurationOC.getObjectClassProp( CswNbtObjClassBalanceConfiguration.PropertyName.Name ); CswNbtView ExistingConfigsView = new CswNbtView( NbtResources ); ExistingConfigsView.ViewName = "Balance Configurations"; CswNbtViewRelationship ConfigNameRel = ExistingConfigsView.AddViewRelationship( BalanceConfigurationOC, false ); ExistingConfigsView.AddViewPropertyAndFilter( ConfigNameRel, ConfigNameOCP, Value: Name, FilterMode: CswEnumNbtFilterMode.Equals ); ICswNbtTree ExistingConfigsTree = NbtResources.Trees.getTreeFromView( ExistingConfigsView, false, true, true ); if( ExistingConfigsTree.getChildNodeCount() > 0 ) { //this configuration exists, grab a reference to it. ExistingConfigsTree.goToNthChild( 0 ); Ret = ExistingConfigsTree.getCurrentNode(); } return Ret; }
/// <summary> /// Convenience function for hiding Role nodes. Entering 'cispro' for the modulename param will hide all Roels with 'cispro' in the name. /// </summary> /// <param name="hidden">True if the nodes should be hidden</param> /// <param name="modulename">The module of the nodes to hide</param> public void ToggleRoleNodes(bool hidden, string modulename) { CswNbtMetaDataObjectClass roleOC = _CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.RoleClass); CswNbtMetaDataObjectClassProp nameOCP = roleOC.getObjectClassProp(CswNbtObjClassRole.PropertyName.Name); CswNbtView rolesView = new CswNbtView(_CswNbtResources); CswNbtViewRelationship parent = rolesView.AddViewRelationship(roleOC, false); rolesView.AddViewPropertyAndFilter(parent, MetaDataProp: nameOCP, Value: modulename, SubFieldName: CswNbtFieldTypeRuleText.SubFieldName.Text, FilterMode: CswEnumNbtFilterMode.Contains); ICswNbtTree cisproUsersTree = _CswNbtResources.Trees.getTreeFromView(rolesView, false, true, true); int count = cisproUsersTree.getChildNodeCount(); for (int i = 0; i < count; i++) { cisproUsersTree.goToNthChild(i); CswNbtNode userNode = cisproUsersTree.getNodeForCurrentPosition(); userNode.Hidden = hidden; userNode.postChanges(false); cisproUsersTree.goToParentNode(); } }
private void OnLocationScanPropChange( CswNbtNodeProp Prop, bool Creating ) { if( null != LocationScan.Text ) { CswNbtMetaDataObjectClass LocationOc = _CswNbtResources.MetaData.getObjectClass( CswEnumNbtObjectClass.LocationClass ); CswNbtView LocationView = new CswNbtView( _CswNbtResources ); CswNbtViewRelationship LocationRel = LocationView.AddViewRelationship( LocationOc, false ); CswNbtMetaDataObjectClassProp BarcodeOcp = LocationOc.getObjectClassProp( CswNbtObjClassLocation.PropertyName.Barcode ); LocationView.AddViewPropertyAndFilter( LocationRel, BarcodeOcp, LocationScan.Text ); ICswNbtTree LocationTree = _CswNbtResources.Trees.getTreeFromView( LocationView, false, false, true ); if( LocationTree.getChildNodeCount() > 0 ) { LocationTree.goToNthChild( 0 ); CswNbtObjClassLocation LocationNode = LocationTree.getNodeForCurrentPosition(); Location.SelectedNodeId = LocationNode.NodeId; Location.RefreshNodeName(); } else { Location.SelectedNodeId = null; Location.CachedNodeName = String.Empty; Location.CachedPath = String.Empty; Location.CachedBarcode = String.Empty; } } _setStatus(); }
/// <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() { #region UPDATE VIEWS CswNbtMetaDataObjectClass userOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswNbtMetaDataObjectClass.NbtObjectClass.UserClass ); CswNbtMetaDataObjectClassProp archivedOCP = userOC.getObjectClassProp( CswNbtObjClassUser.PropertyName.Archived ); foreach( CswNbtMetaDataNodeTypeProp relationshipProp in _CswNbtSchemaModTrnsctn.MetaData.getNodeTypeProps( CswNbtMetaDataFieldType.NbtFieldType.Relationship ) ) { if( relationshipProp.IsUserRelationship() ) { CswNbtView userView = _CswNbtSchemaModTrnsctn.ViewSelect.restoreView( relationshipProp.ViewId ); if( false == userView.IsEmpty() ) { CswNbtViewRelationship parent = userView.Root.ChildRelationships[0]; bool filterExists; bool viewPropExists; CswNbtViewProperty archivedVP = _viewPropAndFilterExists( out filterExists, out viewPropExists, userView, archivedOCP, CswNbtPropFilterSql.PropertyFilterMode.NotEquals, Tristate.True.ToString() ); if( false == viewPropExists ) //the view prop isn't there, add it with the filter { userView.AddViewPropertyAndFilter( parent, archivedOCP, FilterMode: CswNbtPropFilterSql.PropertyFilterMode.NotEquals, Value: Tristate.True.ToString() ); } else if( viewPropExists && false == filterExists ) //the view prop is there, but with no filter { userView.AddViewPropertyFilter( archivedVP, FilterMode: CswNbtPropFilterSql.PropertyFilterMode.NotEquals, Value: Tristate.True.ToString() ); } userView.save(); } } } #endregion }//Update()
public static CswNbtView getAssignedCofADocumentsView( CswNbtResources _CswNbtResources, CswPrimaryKey ReceiptLotId, bool IncludeArchivedDocs = false ) { CswNbtMetaDataObjectClass ReceiptLotOC = _CswNbtResources.MetaData.getObjectClass( CswEnumNbtObjectClass.ReceiptLotClass ); CswNbtMetaDataObjectClass CofADocOC = _CswNbtResources.MetaData.getObjectClass( CswEnumNbtObjectClass.CofADocumentClass ); CswNbtMetaDataObjectClassProp OwnerOCP = CofADocOC.getObjectClassProp( PropertyName.Owner ); CswNbtMetaDataObjectClassProp RevisionDateOCP = CofADocOC.getObjectClassProp( PropertyName.RevisionDate ); CswNbtMetaDataObjectClassProp ArchivedOCP = CofADocOC.getObjectClassProp( PropertyName.Archived ); CswNbtMetaDataObjectClassProp FileOCP = CofADocOC.getObjectClassProp( PropertyName.File ); CswNbtMetaDataObjectClassProp LinkOCP = CofADocOC.getObjectClassProp( PropertyName.Link ); CswNbtView AssignedCofAView = new CswNbtView( _CswNbtResources ) { ViewName = "All Assigned C of A Documents", ViewMode = CswEnumNbtViewRenderingMode.Grid, ViewVisibility = CswEnumNbtViewVisibility.Property.ToString() }; CswNbtViewRelationship RootRel = AssignedCofAView.AddViewRelationship( ReceiptLotOC, false ); RootRel.NodeIdsToFilterIn.Add( ReceiptLotId ); CswNbtViewRelationship DocRel = AssignedCofAView.AddViewRelationship( RootRel, CswEnumNbtViewPropOwnerType.Second, OwnerOCP, true ); if( false == IncludeArchivedDocs ) { AssignedCofAView.AddViewPropertyAndFilter( DocRel, ArchivedOCP, CswEnumTristate.False.ToString(), FilterMode : CswEnumNbtFilterMode.Equals, ShowAtRuntime : true, ShowInGrid : false ); } AssignedCofAView.AddViewProperty( DocRel, RevisionDateOCP, 1 ); AssignedCofAView.AddViewProperty( DocRel, FileOCP, 2 ); AssignedCofAView.AddViewProperty( DocRel, LinkOCP, 3 ); return AssignedCofAView; }
public static void createDefaultWildcardPermission( CswNbtResources _CswNbtResources, CswEnumNbtObjectClass PermissionClass, CswPrimaryKey GroupId ) { CswNbtMetaDataObjectClass PermissionOC = _CswNbtResources.MetaData.getObjectClass( PermissionClass ); CswNbtView PermissionsView = new CswNbtView( _CswNbtResources ); CswNbtViewRelationship PermissionVR = PermissionsView.AddViewRelationship( PermissionOC, IncludeDefaultFilters: false ); CswNbtMetaDataObjectClassProp GroupOCP = PermissionOC.getObjectClassProp( PropertyName.PermissionGroup ); PermissionsView.AddViewPropertyAndFilter( PermissionVR, GroupOCP, Value: GroupId.ToString(), SubFieldName: CswNbtFieldTypeRuleRelationship.SubFieldName.NodeID ); ICswNbtTree PermissionTree = _CswNbtResources.Trees.getTreeFromView( PermissionsView, false, false, false ); if( PermissionTree.getChildNodeCount() == 0 ) { CswNbtMetaDataNodeType PermissionNT = PermissionOC.FirstNodeType; if( null != PermissionNT ) { _CswNbtResources.Nodes.makeNodeFromNodeTypeId( PermissionNT.NodeTypeId, delegate( CswNbtNode NewNode ) { CswNbtPropertySetPermission WildCardPermission = NewNode; WildCardPermission.ApplyToAllRoles.Checked = CswEnumTristate.True; WildCardPermission.ApplyToAllWorkUnits.Checked = CswEnumTristate.True; WildCardPermission.PermissionGroup.RelatedNodeId = GroupId; WildCardPermission.View.Checked = CswEnumTristate.True; WildCardPermission.Edit.Checked = CswEnumTristate.True; WildCardPermission.setWildCardValues(); } ); } } }
private void _updateDocumentsView( CswNbtMetaDataNodeType MaterialNT ) { CswNbtMetaDataNodeTypeProp DocumentsNTP = MaterialNT.getNodeTypeProp( "Documents" ); if( null != DocumentsNTP ) { CswNbtMetaDataNodeType DocumentNT = _CswNbtSchemaModTrnsctn.MetaData.getNodeType( "Material Document" ); if( null != DocumentNT ) { CswNbtMetaDataNodeTypeProp MatOCP = DocumentNT.getNodeTypePropByObjectClassProp( CswNbtObjClassDocument.PropertyName.Owner ); CswNbtMetaDataNodeTypeProp AcquiredDateNTP = DocumentNT.getNodeTypePropByObjectClassProp( CswNbtObjClassDocument.PropertyName.AcquiredDate ); CswNbtMetaDataNodeTypeProp ExpDateNTP = DocumentNT.getNodeTypePropByObjectClassProp( CswNbtObjClassDocument.PropertyName.ExpirationDate ); CswNbtMetaDataNodeTypeProp FileNTP = DocumentNT.getNodeTypePropByObjectClassProp( CswNbtObjClassDocument.PropertyName.File ); CswNbtMetaDataNodeTypeProp LinkNTP = DocumentNT.getNodeTypePropByObjectClassProp( CswNbtObjClassDocument.PropertyName.Link ); CswNbtMetaDataNodeTypeProp ArchivedNTP = DocumentNT.getNodeTypePropByObjectClassProp( CswNbtObjClassDocument.PropertyName.Archived ); CswNbtView DocumentsView = _CswNbtSchemaModTrnsctn.ViewSelect.restoreView( DocumentsNTP.ViewId ); DocumentsView.Root.ChildRelationships.Clear(); CswNbtViewRelationship RootRel = DocumentsView.AddViewRelationship( MaterialPS, false ); CswNbtViewRelationship MatRel = DocumentsView.AddViewRelationship( RootRel, CswEnumNbtViewPropOwnerType.Second, MatOCP, true ); DocumentsView.AddViewPropertyAndFilter( MatRel, ArchivedNTP, CswEnumTristate.False.ToString(), FilterMode: CswEnumNbtFilterMode.Equals, ShowAtRuntime: true, ShowInGrid: false ); DocumentsView.AddViewProperty( MatRel, AcquiredDateNTP, 1 ); DocumentsView.AddViewProperty( MatRel, ExpDateNTP, 2 ); DocumentsView.AddViewProperty( MatRel, FileNTP, 3 ); DocumentsView.AddViewProperty( MatRel, LinkNTP, 4 ); DocumentsView.save(); } } }