Ejemplo n.º 1
0
        }//_addMaterialComponentPermissions()

        private void _addTitleToDocumentsView()
        {
            CswNbtMetaDataPropertySet MaterialPS = _CswNbtSchemaModTrnsctn.MetaData.getPropertySet( CswEnumNbtPropertySetName.MaterialSet );
            foreach( CswNbtMetaDataObjectClass MaterialOC in MaterialPS.getObjectClasses() )
            {
                foreach( CswNbtMetaDataNodeType MaterialNT in MaterialOC.getNodeTypes() )
                {
                    CswNbtMetaDataNodeTypeProp DocumentsNTP = MaterialNT.getNodeTypePropByObjectClassProp( CswNbtPropertySetMaterial.PropertyName.Documents );
                    CswNbtMetaDataNodeType MaterialDocumentNT = _CswNbtSchemaModTrnsctn.MetaData.getNodeType( "Material Document" );

                    if( null != MaterialDocumentNT )
                    {
                        CswNbtMetaDataObjectClass DocumentOC = MaterialDocumentNT.getObjectClass();
                        CswNbtMetaDataNodeTypeProp[] propsToAdd =
                            {
                                MaterialDocumentNT.getNodeTypePropByObjectClassProp( CswNbtObjClassDocument.PropertyName.Title )
                            };

                        CswNbtView DocumentsView = _CswNbtSchemaModTrnsctn.restoreView( DocumentsNTP.ViewId );
                        if( null != DocumentsView )
                        {
                            _addPropertiesToView( DocumentsView, DocumentsView.Root.ChildRelationships, DocumentOC, MaterialDocumentNT, propsToAdd );
                        }
                    }
                }
            }
        }
 public override void update()
 {
     if( _CswNbtSchemaModTrnsctn.isMaster() )
     {
         CswNbtObjClassRole CISProReceiverRole = null;
         CswNbtMetaDataObjectClass RoleOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.RoleClass );
         foreach( CswNbtObjClassRole RoleNode in RoleOC.getNodes( false, false, false, true ) )
         {
             if( RoleNode.Name.Text == "CISPro_Receiver" )
             {
                 CISProReceiverRole = RoleNode;
                 break;
             }
         }
         if( null != CISProReceiverRole )
         {
             _CswNbtSchemaModTrnsctn.Permit.set( CswEnumNbtActionName.Create_Material, CISProReceiverRole, true );
             CswNbtMetaDataPropertySet MaterialPS = _CswNbtSchemaModTrnsctn.MetaData.getPropertySet( CswEnumNbtPropertySetName.MaterialSet );
             foreach( CswNbtMetaDataObjectClass MaterialOC in MaterialPS.getObjectClasses() )
             {
                 foreach( CswNbtMetaDataNodeType MaterialNT in MaterialOC.getNodeTypes() )
                 {
                     _CswNbtSchemaModTrnsctn.Permit.set( CswEnumNbtNodeTypePermission.View, MaterialNT, CISProReceiverRole, true );
                     _CswNbtSchemaModTrnsctn.Permit.set( CswEnumNbtNodeTypePermission.Edit, MaterialNT, CISProReceiverRole, true );
                     _CswNbtSchemaModTrnsctn.Permit.set( CswEnumNbtNodeTypePermission.Create, MaterialNT, CISProReceiverRole, true );
                     _CswNbtSchemaModTrnsctn.Permit.set( CswEnumNbtNodeTypePermission.Delete, MaterialNT, CISProReceiverRole, true );
                 }
             }
         }
     }
 } // update()
Ejemplo n.º 3
0
        protected override void OnEnable()
        {
            //Show the following Container properties...
            //   Requests
            //   Submitted Requests
            CswNbtMetaDataObjectClass ContainerOC = _CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.ContainerClass);

            foreach (int NodeTypeId in ContainerOC.getNodeTypeIds().Keys)
            {
                _CswNbtResources.Modules.ShowProp(NodeTypeId, CswNbtObjClassContainer.PropertyName.Request);
                _CswNbtResources.Modules.ShowProp(NodeTypeId, CswNbtObjClassContainer.PropertyName.SubmittedRequests);
            }

            //Show the following Inventory Group properties...
            //   Limit Request Delivery Location
            CswNbtMetaDataObjectClass InventoryGroupOC = _CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.InventoryGroupClass);

            foreach (int NodeTypeId in InventoryGroupOC.getNodeTypeIds().Keys)
            {
                _CswNbtResources.Modules.ShowProp(NodeTypeId, CswNbtObjClassInventoryGroup.PropertyName.LimitRequestDeliveryLocation);
            }

            //Show the following Location properties...
            //   Request Delivery Location
            CswNbtMetaDataObjectClass LocationOC = _CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.LocationClass);

            foreach (int NodeTypeId in LocationOC.getNodeTypeIds().Keys)
            {
                _CswNbtResources.Modules.ShowProp(NodeTypeId, CswNbtObjClassLocation.PropertyName.RequestDeliveryLocation);
            }

            //Show the following Material properties...
            //   Request Button
            CswNbtMetaDataPropertySet MaterialSet = _CswNbtResources.MetaData.getPropertySet(CswEnumNbtPropertySetName.MaterialSet);

            foreach (CswNbtMetaDataObjectClass MaterialOC in MaterialSet.getObjectClasses())
            {
                foreach (int NodeTypeId in MaterialOC.getNodeTypeIds().Keys)
                {
                    _CswNbtResources.Modules.ShowProp(NodeTypeId, CswNbtObjClassChemical.PropertyName.Request);
                }
            }

            //Show all views in the Requests category
            _CswNbtResources.Modules.ToggleViewsInCategory(false, "Requests", CswEnumNbtViewVisibility.Global);

            //Show the request fulfiller Role/User
            _CswNbtResources.Modules.ToggleRoleNodes(false, "request_fulfiller");
            _CswNbtResources.Modules.ToggleUserNodes(false, "request_fulfiller");
            //TODO - Case 31274 - Add CISPro_Guardian Role/User to this list

            // Case 28930 - Enable Scheduled Rules
            _CswNbtResources.Modules.ToggleScheduledRule(CswEnumNbtScheduleRuleNames.GenRequest, Disabled: false);

            //Case 31546 - If we're enabling Requesting AFTER MLM, we need to show the MLM props
            if (_CswNbtResources.Modules.IsModuleEnabled(CswEnumNbtModuleName.MLM))
            {
                CswNbtObjClassRequestItem.ToggleMLMProps(_CswNbtResources, false);
            }
        }
Ejemplo n.º 4
0
        public override void update()
        {
            _CswNbtSchemaModTrnsctn.createAction( CswEnumNbtActionName.Container_Expiration_Lock, false, String.Empty, "Containers" );
            _CswNbtSchemaModTrnsctn.createModuleActionJunction( CswEnumNbtModuleName.Containers, CswEnumNbtActionName.Container_Expiration_Lock );

            CswNbtMetaDataObjectClass RoleOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.RoleClass );
            foreach( CswNbtObjClassRole RoleNode in RoleOC.getNodes( false, true ) )
            {
                _CswNbtSchemaModTrnsctn.Permit.set( CswEnumNbtActionName.Container_Expiration_Lock, RoleNode.Node, RoleNode.Administrator.Checked == CswEnumTristate.True );
            }

            CswNbtMetaDataPropertySet MaterialSet = _CswNbtSchemaModTrnsctn.MetaData.getPropertySet( CswEnumNbtPropertySetName.MaterialSet );
            foreach( CswNbtMetaDataObjectClass MaterialOC in MaterialSet.getObjectClasses() )
            {
                foreach( CswNbtMetaDataNodeType MaterialNT in MaterialOC.getNodeTypes() )
                {
                    CswNbtMetaDataNodeTypeProp ExpirationLockedNTP = MaterialNT.getNodeTypePropByObjectClassProp( CswNbtPropertySetMaterial.PropertyName.ContainerExpirationLocked );
                    ExpirationLockedNTP.removeFromLayout( CswEnumNbtLayoutType.Add );
                }
                foreach( CswNbtPropertySetMaterial MaterialNode in MaterialOC.getNodes( false, false ) )
                {
                    MaterialNode.ContainerExpirationLocked.Checked = CswEnumTristate.True;
                    MaterialNode.postChanges( false );
                }
            }
        } // update()
        public override void update()
        {
            // Create the view
            CswNbtMetaDataPropertySet MaterialPS = _CswNbtSchemaModTrnsctn.MetaData.getPropertySet( CswEnumNbtPropertySetName.MaterialSet );

            CswNbtMetaDataObjectClass ManufacturerOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.ManufacturerClass );
            CswNbtMetaDataObjectClassProp MaterialOCP = ManufacturerOC.getObjectClassProp( CswNbtObjClassManufacturer.PropertyName.Material );
            CswNbtMetaDataObjectClassProp ManufacturingSiteOCP = ManufacturerOC.getObjectClassProp( CswNbtObjClassManufacturer.PropertyName.ManufacturingSite );
            CswNbtMetaDataObjectClassProp QualifiedOCP = ManufacturerOC.getObjectClassProp( CswNbtObjClassManufacturer.PropertyName.Qualified );

            CswNbtView ManufacturersView = _CswNbtSchemaModTrnsctn.makeSafeView( "ManufacturingSites", CswEnumNbtViewVisibility.Property );
            ManufacturersView.ViewName = "ManufacturingSites";
            ManufacturersView.ViewMode = CswEnumNbtViewRenderingMode.Grid;
            ManufacturersView.Root.ChildRelationships.Clear();

            CswNbtViewRelationship root = ManufacturersView.AddViewRelationship( MaterialPS, false );
            CswNbtViewRelationship relationship = ManufacturersView.AddViewRelationship( root, CswEnumNbtViewPropOwnerType.Second, MaterialOCP, true );

            ManufacturersView.AddViewProperty( relationship, ManufacturingSiteOCP );
            ManufacturersView.AddViewProperty( relationship, QualifiedOCP );

            ManufacturersView.save();

            foreach( CswNbtMetaDataObjectClass MaterialOC in MaterialPS.getObjectClasses() )
            {
                CswNbtMetaDataObjectClassProp GridOCP = MaterialOC.getObjectClassProp( CswNbtPropertySetMaterial.PropertyName.ManufacturingSites );
                _CswNbtSchemaModTrnsctn.MetaData.UpdateObjectClassProp( GridOCP, CswEnumNbtObjectClassPropAttributes.viewxml, ManufacturersView.ToString() );
            }

        } // update()
Ejemplo n.º 6
0
        public override void update()
        {
           CswNbtMetaDataObjectClass BiologicalOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.BiologicalClass );
           CswNbtMetaDataObjectClass SupplyOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.NonChemicalClass );
            CswNbtMetaDataNodeType TimeUoM_OC = _CswNbtSchemaModTrnsctn.MetaData.getNodeType( "Unit Time" );

            CswTableUpdate JctPropSetOCP = _CswNbtSchemaModTrnsctn.makeCswTableUpdate( "52990_JCT_PS_OCP", "jct_propertyset_ocprop" );
            DataTable JctTable = JctPropSetOCP.getEmptyTable();

            foreach( CswNbtMetaDataObjectClass MaterialOC in new[] {BiologicalOC, SupplyOC} )
            {

                CswNbtMetaDataObjectClassProp ExpireInterval = _CswNbtSchemaModTrnsctn.createObjectClassProp( MaterialOC, new CswNbtWcfMetaDataModel.ObjectClassProp
                {
                    PropName = CswNbtPropertySetMaterial.PropertyName.ExpirationInterval,
                    FieldType = CswEnumNbtFieldType.Quantity,
                    IsFk = true,
                    FkType = "NodeTypeId",
                    FkValue = TimeUoM_OC.NodeTypeId
                } );

                CswNbtMetaDataObjectClassProp OpenExpireInterval = _CswNbtSchemaModTrnsctn.createObjectClassProp( MaterialOC, new CswNbtWcfMetaDataModel.ObjectClassProp
                {
                    PropName = CswNbtPropertySetMaterial.PropertyName.OpenExpireInterval,
                    FieldType = CswEnumNbtFieldType.Quantity,
                    IsFk = true,
                    FkType = "NodeTypeId",
                    FkValue = TimeUoM_OC.NodeTypeId
                } );

                DataRow Row = JctTable.NewRow();
                Row["propertysetid"] = MaterialOC.getPropertySet().PropertySetId;
                Row["objectclasspropid"] = ExpireInterval.ObjectClassPropId;
                JctTable.Rows.Add( Row );

                Row = JctTable.NewRow();
                Row["propertysetid"] = MaterialOC.getPropertySet().PropertySetId;
                Row["objectclasspropid"] = OpenExpireInterval.ObjectClassPropId;
                JctTable.Rows.Add( Row );
            }

            JctPropSetOCP.update( JctTable );
        } // update()
Ejemplo n.º 7
0
        public override void update()
        {

            CswNbtMetaDataObjectClass BiologicalOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.BiologicalClass );
           CswNbtMetaDataObjectClass SupplyOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.NonChemicalClass );

            foreach( CswNbtMetaDataObjectClass MaterialOC in new[] {BiologicalOC, SupplyOC} )
            {
                CswNbtMetaDataObjectClassProp OpenExpireOCP = MaterialOC.getObjectClassProp( CswNbtPropertySetMaterial.PropertyName.OpenExpireInterval );
                CswNbtMetaDataObjectClassProp ExpirationIntervalOCP = MaterialOC.getObjectClassProp( CswNbtPropertySetMaterial.PropertyName.ExpirationInterval );
                foreach( CswNbtMetaDataObjectClassProp OCP in new[] {OpenExpireOCP, ExpirationIntervalOCP} )
                {
                    foreach( CswNbtMetaDataNodeTypeProp NTP in OCP.getNodeTypeProps() )
                    {
                        CswNbtMetaDataNodeType NT = NTP.getNodeType();
                        NTP.updateLayout( CswEnumNbtLayoutType.Edit, true, NT.getFirstNodeTypeTab().TabId );
                    }
                }
            }
        } // update()
Ejemplo n.º 8
0
        /// <summary>
        /// The actual update call
        /// </summary>
        public override void update()
        {
            CswNbtMetaDataPropertySet MaterialSet = _CswNbtSchemaModTrnsctn.MetaData.getPropertySet(CswEnumNbtPropertySetName.MaterialSet);

            foreach (CswNbtMetaDataObjectClass MaterialOC in MaterialSet.getObjectClasses())
            {
                CswNbtMetaDataObjectClassProp ExpirationLockedOCP = MaterialOC.getObjectClassProp(CswNbtPropertySetMaterial.PropertyName.ContainerExpirationLocked);
                if (null == ExpirationLockedOCP)
                {
                    ExpirationLockedOCP = _CswNbtSchemaModTrnsctn.createObjectClassProp(MaterialOC, new CswNbtWcfMetaDataModel.ObjectClassProp
                    {
                        PropName    = CswNbtPropertySetMaterial.PropertyName.ContainerExpirationLocked,
                        FieldType   = CswEnumNbtFieldType.Logical,
                        SetValOnAdd = false,
                        IsRequired  = true
                    });
                    _CswNbtSchemaModTrnsctn.MetaData.SetObjectClassPropDefaultValue(ExpirationLockedOCP, CswEnumTristate.True, CswEnumNbtSubFieldName.Checked);
                }
            }
        }
Ejemplo n.º 9
0
        public override void update()
        {
            CswNbtMetaDataPropertySet MaterialPS = _CswNbtSchemaModTrnsctn.MetaData.getPropertySet( CswEnumNbtPropertySetName.MaterialSet );
            foreach( CswNbtMetaDataObjectClass MaterialOC in MaterialPS.getObjectClasses() )
            {
                // Set default value for Obsolete property on Materials to false
                // Remove obsolete from Add layout
                CswNbtMetaDataObjectClassProp ManufacturerSitesOCP = MaterialOC.getObjectClassProp( CswNbtPropertySetMaterial.PropertyName.ManufacturingSites );
                CswNbtView ManufacturersView = _CswNbtSchemaModTrnsctn.ViewSelect.restoreView( "ManufacturingSites", CswEnumNbtViewVisibility.Property );

                // Set view on nodetypes
                foreach( CswNbtMetaDataNodeType MaterialNT in MaterialOC.getNodeTypes() )
                {
                    CswNbtMetaDataNodeTypeProp ObsoleteNTP = MaterialNT.getNodeTypeProp( CswNbtPropertySetMaterial.PropertyName.Obsolete );
                    //ObsoleteNTP.getDefaultValue( true ).AsLogical.Checked = CswEnumTristate.False;
                    ObsoleteNTP.DesignNode.AttributeProperty[CswEnumNbtPropertyAttributeName.DefaultValue].AsLogical.Checked = CswEnumTristate.False;
                    ObsoleteNTP.removeFromLayout( CswEnumNbtLayoutType.Add );

                    CswNbtMetaDataNodeTypeProp GridNTP = MaterialNT.getNodeTypePropByObjectClassProp( CswNbtPropertySetMaterial.PropertyName.ManufacturingSites );
                    GridNTP.ViewId.set( ManufacturersView.ViewId.get() );
                }
            }

        } // update()
        public override void update()
        {
            // New 'IsConstituent' property
            CswNbtMetaDataPropertySet MaterialPS = _CswNbtSchemaModTrnsctn.MetaData.getPropertySet( CswEnumNbtPropertySetName.MaterialSet );
            foreach( CswNbtMetaDataObjectClass MaterialOC in _CswNbtSchemaModTrnsctn.MetaData.getObjectClassesByPropertySetId( MaterialPS.PropertySetId ) )
            {
                foreach( CswNbtMetaDataNodeType MaterialNT in MaterialOC.getNodeTypes() )
                {
                    CswNbtMetaDataNodeTypeProp IsConstituentNTP = MaterialNT.getNodeTypePropByObjectClassProp( CswNbtPropertySetMaterial.PropertyName.IsConstituent );
                    IsConstituentNTP.DefaultValue.AsLogical.Checked = CswEnumTristate.False;
                    IsConstituentNTP.removeFromAllLayouts();

                    foreach( CswNbtPropertySetMaterial MaterialNode in MaterialNT.getNodes( false, true ) )
                    {
                        MaterialNode.IsConstituent.Checked = CswEnumTristate.False;
                        MaterialNode.postChanges( false );
                    }
                }
            }

            CswNbtMetaDataObjectClass ChemicalOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.ChemicalClass );
            if( null != ChemicalOC.FirstNodeType )
            {
                //1. Create a new NodeType (of ObjClassChemical) called "Constituent"
                CswNbtMetaDataNodeType ConstituentNT = _CswNbtSchemaModTrnsctn.MetaData.CopyNodeType( ChemicalOC.FirstNodeType, "Constituent" );

                CswNbtMetaDataNodeTypeProp TradeNameNTP = ConstituentNT.getNodeTypePropByObjectClassProp( CswNbtObjClassChemical.PropertyName.TradeName );
                ConstituentNT.setNameTemplateText( CswNbtMetaData.MakeTemplateEntry( TradeNameNTP.PropName ) );

                // IsConstituent is true here
                CswNbtMetaDataNodeTypeProp IsConstituentNTP = ConstituentNT.getNodeTypePropByObjectClassProp( CswNbtObjClassChemical.PropertyName.IsConstituent );
                IsConstituentNTP.DefaultValue.AsLogical.Checked = CswEnumTristate.True;

                //2. Set Allow Receiving prop to "false" by default
                CswNbtMetaDataNodeTypeProp ApprovedReceivingNTP = ConstituentNT.getNodeTypePropByObjectClassProp( CswNbtObjClassChemical.PropertyName.ApprovedForReceiving );
                ApprovedReceivingNTP.DefaultValue.AsLogical.Checked = CswEnumTristate.False;
                ApprovedReceivingNTP.ServerManaged = true;

                Collection<CswNbtMetaDataNodeTypeProp> PropertiesToDelete = new Collection<CswNbtMetaDataNodeTypeProp>();
                PropertiesToDelete.Add( ConstituentNT.getNodeTypeProp( "Chemical Sizes" ) );
                PropertiesToDelete.Add( ConstituentNT.getNodeTypeProp( "Inventory Levels" ) );
                PropertiesToDelete.Add( ConstituentNT.getNodeTypeProp( "Chemical Containers" ) );
                PropertiesToDelete.Add( ConstituentNT.getNodeTypeProp( "Components" ) );

                foreach( CswNbtMetaDataNodeTypeProp DoomedProp in PropertiesToDelete )
                {
                    if( null != DoomedProp )
                    {
                        _CswNbtSchemaModTrnsctn.MetaData.DeleteNodeTypeProp( DoomedProp );
                    }
                }

                CswNbtMetaDataNodeTypeProp SupplierNTP = ConstituentNT.getNodeTypePropByObjectClassProp( CswNbtObjClassChemical.PropertyName.Supplier );
                SupplierNTP.removeFromAllLayouts();


                // Grant permissions to cispro_admin
                CswNbtObjClassRole CISProAdminRole = _CswNbtSchemaModTrnsctn.Nodes.makeRoleNodeFromRoleName( "CISPro_Admin" );
                CswEnumNbtNodeTypePermission[] AllPerms = new CswEnumNbtNodeTypePermission[]
                {
                    CswEnumNbtNodeTypePermission.Create, CswEnumNbtNodeTypePermission.Delete, CswEnumNbtNodeTypePermission.Edit, CswEnumNbtNodeTypePermission.View
                };
                _CswNbtSchemaModTrnsctn.Permit.set( AllPerms, ConstituentNT, CISProAdminRole, true );

            } // if( null != ChemicalOC.FirstNodeType )
        } // update()