public override void update()
 {
     CswNbtMetaDataObjectClass RoleOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.RoleClass );
     foreach( CswNbtObjClassRole RoleNode in RoleOC.getNodes( false, true ) )
     {
         RoleNode.IsDemo = false;
         RoleNode.postChanges( false );
     }
     CswNbtMetaDataObjectClass UserOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.UserClass );
     foreach( CswNbtObjClassUser UserNode in UserOC.getNodes( false, true ) )
     {
         if( UserNode.IsAdministrator() )
         {
             UserNode.IsDemo = false;
             UserNode.postChanges( false );
         }
     }
     CswNbtMetaDataObjectClass InvGrpOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.InventoryGroupClass );
     foreach( CswNbtNode InvGrpNode in InvGrpOC.getNodes( false, true ) )
     {
         InvGrpNode.IsDemo = false;
         InvGrpNode.postChanges( false );
     }
     CswNbtMetaDataObjectClass InvGrpPermOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.InventoryGroupPermissionClass );
     foreach( CswNbtNode InvGrpPermNode in InvGrpPermOC.getNodes( false, true ) )
     {
         InvGrpPermNode.IsDemo = false;
         InvGrpPermNode.postChanges( false );
     }
     CswNbtMetaDataObjectClass JurisdictionOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.JurisdictionClass );
     foreach( CswNbtNode JurisdictionNode in JurisdictionOC.getNodes( false, true ) )
     {
         JurisdictionNode.IsDemo = false;
         JurisdictionNode.postChanges( false );
     }
     CswNbtMetaDataObjectClass LabelOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.PrintLabelClass );
     foreach( CswNbtNode LabelNode in LabelOC.getNodes( false, true ) )
     {
         LabelNode.IsDemo = false;
         LabelNode.postChanges( false );
     }
 } // update()
Beispiel #2
0
        public override void update()
        {
            #region NodeTypes

            CswNbtMetaDataNodeType ReportGroupPermNT = _createPermissionNT( CswEnumNbtObjectClass.ReportGroupPermissionClass, "Report Group Permission" );
            CswNbtMetaDataNodeType MailReportGroupPermNT = _createPermissionNT( CswEnumNbtObjectClass.MailReportGroupPermissionClass, "Mail Report Group Permission" );
            CswNbtMetaDataNodeType ReportGroupNT = _createGroupNT( CswEnumNbtObjectClass.ReportGroupClass, "Report Group", CswNbtObjClassReportGroup.PropertyName.Reports );
            CswNbtMetaDataNodeType MailReportGroupNT = _createGroupNT( CswEnumNbtObjectClass.MailReportGroupClass, "Mail Report Group", CswNbtObjClassMailReportGroup.PropertyName.MailReports );
            CswNbtMetaDataObjectClass InvGrpPermOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.InventoryGroupPermissionClass );
            _CswNbtSchemaModTrnsctn.MetaData.makeMissingNodeTypeProps();//For some reason this is needed here or else the following code will throw an ORNI on a full master reset
            foreach( CswNbtMetaDataNodeType InvGrpPermNT in InvGrpPermOC.getNodeTypes() )
            {
                _setPermissionPropFilters( InvGrpPermNT );
            }

            #endregion NodeTypes

            #region Permission Group Nodes

            CswNbtObjClassReportGroup DefaultReportGroup = _CswNbtSchemaModTrnsctn.Nodes.makeNodeFromNodeTypeId( ReportGroupNT.NodeTypeId, CswEnumNbtMakeNodeOperation.MakeTemp );
            DefaultReportGroup.Name.Text = "Default Report Group";
            DefaultReportGroup.IsTemp = false;
            DefaultReportGroup.postChanges( false );

            CswNbtMetaDataObjectClass ReportOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.ReportClass );
            foreach( CswNbtObjClassReport ReportNode in ReportOC.getNodes( false, false ) )
            {
                ReportNode.ReportGroup.RelatedNodeId = DefaultReportGroup.NodeId;
                ReportNode.postChanges( false );
            }

            CswNbtObjClassMailReportGroup DefaultMailReportGroup = _CswNbtSchemaModTrnsctn.Nodes.makeNodeFromNodeTypeId( MailReportGroupNT.NodeTypeId, CswEnumNbtMakeNodeOperation.MakeTemp );
            DefaultMailReportGroup.Name.Text = "Default Mail Report Group";
            DefaultMailReportGroup.IsTemp = false;
            DefaultMailReportGroup.postChanges( false );

            CswNbtMetaDataObjectClass MailReportOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.MailReportClass );
            foreach( CswNbtObjClassMailReport MailReportNode in MailReportOC.getNodes( false, false ) )
            {
                MailReportNode.MailReportGroup.RelatedNodeId = DefaultMailReportGroup.NodeId;
                MailReportNode.postChanges( false );
            }

            #endregion Permission Group Nodes

            #region Inventory Group Permission Nodes

            CswNbtMetaDataNodeType InventoryGroupNT = InvGrpPermOC.FirstNodeType;
            if( null != InventoryGroupNT )
            {
                CswNbtMetaDataNodeTypeProp PermissionGroupNTP = InventoryGroupNT.getNodeTypePropByObjectClassProp( CswNbtPropertySetPermission.PropertyName.PermissionGroup );
                if( null != PermissionGroupNTP )
                {
                    PermissionGroupNTP.PropName = CswNbtPropertySetPermission.PropertyName.PermissionGroup;
                }
            }

            foreach( CswNbtObjClassInventoryGroupPermission InvGrpPermNode in InvGrpPermOC.getNodes( false, false ) )
            {
                InvGrpPermNode.ApplyToAllWorkUnits.Checked = CswEnumTristate.False;
                InvGrpPermNode.ApplyToAllRoles.Checked = CswEnumTristate.False;
                InvGrpPermNode.PermissionGroup.RefreshNodeName();
                InvGrpPermNode.postChanges( false );
            }

            CswNbtMetaDataObjectClass InvGrpOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.InventoryGroupClass );
            foreach( CswNbtObjClassInventoryGroup InvGrpNode in InvGrpOC.getNodes( false, false ) )
            {
                if( InvGrpNode.Name.Text == "Default Inventory Group" && null != InventoryGroupNT )
                {
                    CswNbtObjClassInventoryGroupPermission WildCardInventoryGroupPermission = _CswNbtSchemaModTrnsctn.Nodes.makeNodeFromNodeTypeId( InventoryGroupNT.NodeTypeId, CswEnumNbtMakeNodeOperation.DoNothing );
                    WildCardInventoryGroupPermission.ApplyToAllRoles.Checked = CswEnumTristate.True;
                    WildCardInventoryGroupPermission.ApplyToAllWorkUnits.Checked = CswEnumTristate.True;
                    WildCardInventoryGroupPermission.PermissionGroup.RelatedNodeId = InvGrpNode.NodeId;
                    WildCardInventoryGroupPermission.View.Checked = CswEnumTristate.True;
                    WildCardInventoryGroupPermission.Edit.Checked = CswEnumTristate.True;
                    WildCardInventoryGroupPermission.Dispense.Checked = CswEnumTristate.False;
                    WildCardInventoryGroupPermission.Dispose.Checked = CswEnumTristate.False;
                    WildCardInventoryGroupPermission.Request.Checked = CswEnumTristate.False;
                    WildCardInventoryGroupPermission.Undispose.Checked = CswEnumTristate.False;
                    WildCardInventoryGroupPermission.WorkUnit.RelatedNodeId = null;
                    WildCardInventoryGroupPermission.WorkUnit.RefreshNodeName();
                    WildCardInventoryGroupPermission.WorkUnit.SyncGestalt();
                    WildCardInventoryGroupPermission.postChanges( false );
                }
            }

            //This is now being handled as part of creating the Default Group nodes
            /*CswNbtObjClassReportGroupPermission WildCardReportGroupPermission = _CswNbtSchemaModTrnsctn.Nodes.makeNodeFromNodeTypeId( ReportGroupPermNT.NodeTypeId, CswEnumNbtMakeNodeOperation.DoNothing );
            WildCardReportGroupPermission.ApplyToAllRoles.Checked = CswEnumTristate.True;
            WildCardReportGroupPermission.ApplyToAllWorkUnits.Checked = CswEnumTristate.True;
            WildCardReportGroupPermission.PermissionGroup.RelatedNodeId = DefaultReportGroup.NodeId;
            WildCardReportGroupPermission.View.Checked = CswEnumTristate.True;
            WildCardReportGroupPermission.Edit.Checked = CswEnumTristate.True;
            WildCardReportGroupPermission.postChanges( false );

            CswNbtObjClassMailReportGroupPermission WildCardMailReportGroupPermission = _CswNbtSchemaModTrnsctn.Nodes.makeNodeFromNodeTypeId( MailReportGroupPermNT.NodeTypeId, CswEnumNbtMakeNodeOperation.DoNothing );
            WildCardMailReportGroupPermission.ApplyToAllRoles.Checked = CswEnumTristate.True;
            WildCardMailReportGroupPermission.ApplyToAllWorkUnits.Checked = CswEnumTristate.True;
            WildCardMailReportGroupPermission.PermissionGroup.RelatedNodeId = DefaultMailReportGroup.NodeId;
            WildCardMailReportGroupPermission.View.Checked = CswEnumTristate.True;
            WildCardMailReportGroupPermission.Edit.Checked = CswEnumTristate.True;
            WildCardMailReportGroupPermission.postChanges( false );*/

            #endregion Inventory Group Permission Nodes
        } // update()
Beispiel #3
0
        public override void update()
        {
            bool MakeAdminNode = true;
            bool MakeChemSWAdminNode = true;

            CswNbtObjClassWorkUnit DefaultWorkUnit = _getDefaultWorkUnit();
            CswNbtObjClassInventoryGroup CISProInventoryGroup = _getInventoryGroup( "CISPro" );
            CswNbtObjClassInventoryGroup DefaultInventoryGroup = _getInventoryGroup( "Default Inventory Group" );

            CswNbtObjClassRole AdminRole = _CswNbtSchemaModTrnsctn.Nodes.makeRoleNodeFromRoleName( "Administrator" );
            CswNbtObjClassRole ChemSWAdminRole = _CswNbtSchemaModTrnsctn.Nodes.makeRoleNodeFromRoleName( "chemsw_admin_role" );

            CswNbtMetaDataObjectClass InvGrpPermOc = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( NbtObjectClass.InventoryGroupPermissionClass );
            CswNbtMetaDataNodeType InvGrpPermNt = InvGrpPermOc.FirstNodeType;

            if( null != DefaultInventoryGroup )
            {
                if( null != InvGrpPermNt && null != DefaultWorkUnit )
                {
                    foreach( CswNbtObjClassInventoryGroupPermission InvGrpPermNode in InvGrpPermOc.getNodes( false, false, IncludeHiddenNodes: true ) )
                    {
                        if( ( null != CISProInventoryGroup && InvGrpPermNode.InventoryGroup.RelatedNodeId == CISProInventoryGroup.NodeId ) ||
                            InvGrpPermNode.InventoryGroup.Gestalt == "CISPro" )
                        {
                            InvGrpPermNode.InventoryGroup.RelatedNodeId = DefaultInventoryGroup.NodeId;
                            InvGrpPermNode.WorkUnit.RelatedNodeId = DefaultWorkUnit.NodeId;
                            InvGrpPermNode.postChanges( true );
                        }
                        if( null != AdminRole && InvGrpPermNode.Role.RelatedNodeId == AdminRole.NodeId )
                        {
                            MakeAdminNode = false;
                        }
                        else if( null != ChemSWAdminRole && InvGrpPermNode.Role.RelatedNodeId == ChemSWAdminRole.NodeId )
                        {
                            MakeChemSWAdminNode = false;
                        }
                    }

                    if( MakeAdminNode && null != AdminRole )
                    {
                        _createInventoryGroupPermission( InvGrpPermNt.NodeTypeId, AdminRole.NodeId, DefaultInventoryGroup.NodeId, DefaultWorkUnit.NodeId );
                    }
                    if( MakeChemSWAdminNode && null != ChemSWAdminRole )
                    {
                        _createInventoryGroupPermission( InvGrpPermNt.NodeTypeId, ChemSWAdminRole.NodeId, DefaultInventoryGroup.NodeId, DefaultWorkUnit.NodeId );
                    }
                }

                CswNbtMetaDataObjectClass LocationOc = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( NbtObjectClass.LocationClass );
                CswNbtMetaDataNodeType LocationNt = LocationOc.FirstNodeType;

                if( null != CISProInventoryGroup && null != LocationNt )
                {
                    foreach( CswNbtObjClassLocation LocationNode in LocationOc.getNodes( false, false, IncludeHiddenNodes: true ) )
                    {
                        if( LocationNode.InventoryGroup.RelatedNodeId == CISProInventoryGroup.NodeId )
                        {
                            LocationNode.InventoryGroup.RelatedNodeId = DefaultInventoryGroup.NodeId;
                            LocationNode.postChanges( false );
                        }
                    }
                    CISProInventoryGroup.Node.delete();
                }
            }

        }//Update()