public override void onPropertySetAddDefaultViewFilters(CswNbtViewRelationship ParentRelationship) { CswNbtMetaDataObjectClassProp RequestorOcp = ObjectClass.getObjectClassProp(PropertyName.Requestor); ParentRelationship.View.AddViewPropertyAndFilter(ParentRelationship, RequestorOcp, FilterMode: CswEnumNbtFilterMode.Equals, Value: "me", ShowInGrid: false); CswNbtMetaDataObjectClassProp IsFavoriteOcp = ObjectClass.getObjectClassProp(PropertyName.IsFavorite); ParentRelationship.View.AddViewPropertyAndFilter(ParentRelationship, IsFavoriteOcp, FilterMode: CswEnumNbtFilterMode.NotEquals, Value: CswNbtNodePropLogical.toLogicalGestalt(CswEnumTristate.True), ShowInGrid: false); CswNbtMetaDataObjectClassProp IsRecurringOcp = ObjectClass.getObjectClassProp(PropertyName.IsRecurring); ParentRelationship.View.AddViewPropertyAndFilter(ParentRelationship, IsRecurringOcp, FilterMode: CswEnumNbtFilterMode.NotEquals, Value: CswEnumTristate.True.ToString(), ShowInGrid: false); CswNbtMetaDataObjectClassProp StatusOcp = ObjectClass.getObjectClassProp(PropertyName.Status); ParentRelationship.View.AddViewPropertyAndFilter(ParentRelationship, StatusOcp, FilterMode: CswEnumNbtFilterMode.NotEquals, Value: NonRequestableStatus, ShowInGrid: false); }
public override void update() { CswNbtView Ret = _CswNbtSchemaModTrnsctn.makeSafeView( "Pending Requests", NbtViewVisibility.Global ); Ret.Category = "Requests"; Ret.ViewMode = NbtViewRenderingMode.Grid; foreach( NbtObjectClass Member in CswNbtPropertySetRequestItem.Members() ) { CswNbtMetaDataObjectClass MemberOc = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( Member ); CswNbtViewRelationship RequestItemRel = Ret.AddViewRelationship( MemberOc, IncludeDefaultFilters: false ); Ret.AddViewPropertyAndFilter( RequestItemRel, MemberOc.getObjectClassProp( CswNbtPropertySetRequestItem.PropertyName.Status ), CswNbtPropertySetRequestItem.Statuses.Pending, ShowInGrid: false ); if( MemberOc.ObjectClass == NbtObjectClass.RequestMaterialDispenseClass ) { Ret.AddViewPropertyAndFilter( RequestItemRel, MemberOc.getObjectClassProp( CswNbtObjClassRequestMaterialDispense.PropertyName.IsFavorite ), FilterMode: CswNbtPropFilterSql.PropertyFilterMode.NotEquals, Value: CswNbtNodePropLogical.toLogicalGestalt( Tristate.True ), ShowInGrid: false ); Ret.AddViewPropertyAndFilter( RequestItemRel, MemberOc.getObjectClassProp( CswNbtObjClassRequestMaterialDispense.PropertyName.IsRecurring ), Tristate.False.ToString(), ShowInGrid: false ); } CswNbtViewProperty Vp2 = Ret.AddViewProperty( RequestItemRel, MemberOc.getObjectClassProp( CswNbtPropertySetRequestItem.PropertyName.Description ) ); Vp2.Width = 50; Vp2.Order = 2; CswNbtViewProperty Vp3 = Ret.AddViewProperty( RequestItemRel, MemberOc.getObjectClassProp( CswNbtPropertySetRequestItem.PropertyName.NeededBy ) ); Vp3.Order = 3; CswNbtViewProperty Vp4 = Ret.AddViewProperty( RequestItemRel, MemberOc.getObjectClassProp( CswNbtPropertySetRequestItem.PropertyName.Location ) ); Vp4.Width = 40; Vp4.Order = 4; CswNbtViewProperty Vp5 = Ret.AddViewProperty( RequestItemRel, MemberOc.getObjectClassProp( CswNbtPropertySetRequestItem.PropertyName.InventoryGroup ) ); Vp5.Width = 20; Vp5.Order = 5; CswNbtViewProperty Vp6 = Ret.AddViewProperty( RequestItemRel, MemberOc.getObjectClassProp( CswNbtPropertySetRequestItem.PropertyName.RequestedFor ) ); Vp6.Order = 6; CswNbtViewProperty Vp7 = Ret.AddViewProperty( RequestItemRel, MemberOc.getObjectClassProp( CswNbtPropertySetRequestItem.PropertyName.Requestor ) ); Vp7.Order = 7; } Ret.save(); } //Update()
//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); }