コード例 #1
0
        public static CswNbtView LocationPropertyView(CswNbtResources CswNbtResources, CswNbtMetaDataNodeTypeProp Prop, CswPrimaryKey NodeId = null, IEnumerable <CswPrimaryKey> InventoryGroupIds = null, CswEnumNbtFilterResultMode ResultMode = null, string FullPathFilter = "")
        {
            CswNbtMetaDataObjectClass ContainerOC   = CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.ContainerClass);
            CswNbtMetaDataObjectClass UserOC        = CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.UserClass);
            CswNbtMetaDataObjectClass RequestItemOC = CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.RequestItemClass);

            //TODO (Case 31016): This is pretty hack-a-delic - we should convert these into prop attributes (like RespectAllowInventory, DisableLowestLevel, and IncludeRoot)
            bool IsLocationNode    = (null != Prop && Prop.getNodeType().getObjectClass().ObjectClass == CswEnumNbtObjectClass.LocationClass);
            bool IsContainerNode   = (null != Prop && null != ContainerOC && Prop.getNodeType().ObjectClassId == ContainerOC.ObjectClassId);
            bool IsUserNode        = (null != Prop && null != UserOC && Prop.getNodeType().ObjectClassId == UserOC.ObjectClassId);
            bool IsRequestItemNode = (null != Prop && null != RequestItemOC && Prop.getNodeType().ObjectClassId == RequestItemOC.ObjectClassId);

            CswNbtView Ret = new CswNbtView(CswNbtResources);

            Ret.ViewName      = GetTopLevelName(CswNbtResources);
            Ret.Root.Included = IsLocationNode;
            CswNbtObjClassLocation.makeLocationsTreeView(ref Ret, CswNbtResources,
                                                         NodeIdToFilterOut: NodeId,
                                                         RequireAllowInventory: (CswNbtResources.Modules.IsModuleEnabled(CswEnumNbtModuleName.Containers) && (IsContainerNode || IsUserNode || IsRequestItemNode)),
                                                         InventoryGroupIds: InventoryGroupIds,
                                                         DisableLowestLevel: IsLocationNode,
                                                         ResultMode: ResultMode,
                                                         FullPathFilter: FullPathFilter);
            return(Ret);
        }
コード例 #2
0
ファイル: CswNbtSdTrees.cs プロジェクト: crfroehlich/legacy
        public static void getLocationTree(ICswResources CswResources, Contract.Response Response, object Request)
        {
            CswNbtResources Resources = (CswNbtResources)CswResources;

            CswNbtView View = new CswNbtView(Resources);

            CswNbtObjClassLocation.makeLocationsTreeView(ref View, Resources);
            View.SaveToCache(false, false);
            Response.Data.ViewId = View.SessionViewId;
        } //getLocationTree()
コード例 #3
0
        public override void update()
        {
            // Update existing 'Locations' view for Order change
            {
                CswNbtView LocationsView = _CswNbtSchemaModTrnsctn.ViewSelect.restoreView( "Locations", NbtViewVisibility.Global );
                if( null != LocationsView )
                {
                    CswNbtObjClassLocation.makeLocationsTreeView( ref LocationsView, _CswNbtSchemaModTrnsctn );
                    LocationsView.save();
                }
            }

            // Also fix the Equipment by Location view
            {
                CswNbtView EquipByLocView = _CswNbtSchemaModTrnsctn.ViewSelect.restoreView( "Equipment By Location", NbtViewVisibility.Global );
                if( null != EquipByLocView )
                {
                    CswNbtObjClassLocation.makeLocationsTreeView( ref EquipByLocView, _CswNbtSchemaModTrnsctn );

                    CswNbtMetaDataObjectClass EquipmentOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( NbtObjectClass.EquipmentClass );
                    CswNbtMetaDataNodeType EquipmentNT = EquipmentOC.FirstNodeType;
                    CswNbtMetaDataNodeTypeProp EquipmentLocationNTP = null;
                    if( null != EquipmentNT )
                    {
                        EquipmentLocationNTP = EquipmentNT.getNodeTypeProp( "Location" );
                    }
                    CswNbtMetaDataObjectClass AssemblyOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( NbtObjectClass.EquipmentAssemblyClass );
                    CswNbtMetaDataNodeType AssemblyNT = AssemblyOC.FirstNodeType;
                    CswNbtMetaDataNodeTypeProp AssemblyLocationNTP = null;
                    if( null != AssemblyNT )
                    {
                        AssemblyLocationNTP = AssemblyNT.getNodeTypeProp( "Location" );
                    }

                    foreach( CswNbtViewRelationship LocRel in EquipByLocView.Root.GetAllChildrenOfType( NbtViewNodeType.CswNbtViewRelationship ) )
                    {
                        if( null != EquipmentLocationNTP )
                        {
                            EquipByLocView.AddViewRelationship( LocRel, NbtViewPropOwnerType.Second, EquipmentLocationNTP, true );
                        }
                        if( null != AssemblyLocationNTP )
                        {
                            EquipByLocView.AddViewRelationship( LocRel, NbtViewPropOwnerType.Second, AssemblyLocationNTP, true );
                        }
                    }
                    EquipByLocView.save();
                }
            }
        } //Update()