Beispiel #1
0
        private static FlowNode GetNodeByNodeType(string tmpkey, string nodeKey)
        {
            WF_TemplateNode node = nodebll.getByNodeKey(tmpkey, nodeKey);
            FlowNode        flo  = null;

            if (node.NodeType == (int)WFNodeType.BeginNode)
            {
                flo = new BeginNode();
            }
            if (node.NodeType == (int)WFNodeType.EndNode)
            {
                flo = new EndNode();
            }
            if (node.NodeType == (int)WFNodeType.Normal)
            {
                if (node.ProcessType == (int)WFProcessType.User)
                {
                    flo = new UserNode();
                }
                if (node.ProcessType == (int)WFProcessType.Role)
                {
                    flo = new RoleNode();
                }
                if (node.ProcessType == (int)WFProcessType.Custom)
                {
                    WF_ApplyType apply    = applytypebll.getByCode(node.ProcessTypeValue);
                    Assembly     assembly = Assembly.GetExecutingAssembly();
                    dynamic      obj      = assembly.CreateInstance(apply.ClassName);
                    flo = (FlowNode)obj;
                }
            }
            return(flo);
        }
Beispiel #2
0
        public override void update()
        {
            //Remove the Modules action permission from every role except ChemSW_Admin
            string ModuleActionValue = CswNbtObjClassRole.MakeActionPermissionValue( _CswNbtSchemaModTrnsctn.Actions[CswEnumNbtActionName.Modules] );
            CswNbtMetaDataObjectClass RoleOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.RoleClass );
            foreach( CswNbtObjClassRole RoleNode in RoleOC.getNodes( false, true, false, true ) )
            {
                if( RoleNode.Name.Text != CswNbtObjClassRole.ChemSWAdminRoleName )
                {
                    if( RoleNode.ActionPermissions.CheckValue( ModuleActionValue ) )
                    {
                        RoleNode.ActionPermissions.RemoveValue( ModuleActionValue );
                        RoleNode.postChanges( false );
                    }
                }
                else
                {
                    if( false == RoleNode.ActionPermissions.CheckValue( ModuleActionValue ) )
                    {
                        RoleNode.ActionPermissions.AddValue( ModuleActionValue );
                        RoleNode.postChanges( false );
                    }
                }
            }

        } // update()
Beispiel #3
0
        private async void DeleteRole(RoleNode roleNode)
        {
            try
            {
                IsBusy = true;
                var aggregatedList = Roles.Merge(Users);
                var result         = await authorisationManagerServiceManager.DeleteRole(roleNode, aggregatedList);

                SelectedItem = null;
                ResetStatus();
            }
            catch (Exception ex)
            {
                ShowMessage(new Message()
                {
                    MessageType = MessageType.Error,
                    Text        = ex.Message
                }, true);

                IsBusy = false;
            }
            finally
            {
                OnPropertyChanged("");
            }
        }
Beispiel #4
0
            public override Node VisitRole(RoleNode roleNode)
            {
                var role = _discord.Guilds.SelectMany(g => g.Roles).Single(r => r.Id == roleNode.Id);

                Markup("<code>");
                Text($"@{role.Name}");
                Markup("</code>");
                return(roleNode);
            }
 public override void update()
 {
     // Fix missing role timeouts
     CswNbtMetaDataObjectClass RoleOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswNbtMetaDataObjectClass.NbtObjectClass.RoleClass );
     foreach( CswNbtObjClassRole RoleNode in RoleOC.getNodes( false, true, false ) )
     {
         if( Double.IsNaN( RoleNode.Timeout.Value ) )
         {
             RoleNode.Timeout.Value = 30;
             RoleNode.postChanges( false );
         }
     }
 } //Update()
        private List <RoleNode> addChild(int?id, List <vmPermission> allpermissions)
        {
            RoleNode rn          = new RoleNode();
            var      listOfNodes = allpermissions.Where(x => x.ParentPermissionId == id).Select(c => new RoleNode {
                value = c.Id, label = c.PermissionName, children = addChild(c.Id, allpermissions)
            }).ToList();

            if (listOfNodes == null)
            {
                return(null);
            }

            return(listOfNodes);
        }
Beispiel #7
0
 public void OnRoleMoveEnd(RoleNode pNode)
 {
     if (pNode.PathList.Count > 1)
     {
         int NewX = pNode.PathList[0];
         int NewZ = pNode.PathList[1];
         pNode.PathList.RemoveRange(0, 2);
         MoveTo(pNode, new Vector3(NewX, 0, NewZ));
     }
     else
     {
         PlayStatus(pNode, E_NodeStatus.Idle);
     }
 }
Beispiel #8
0
    private void moveNode(RoleNode pNode)
    {
        //屏幕外的要隐藏.
        //pNode.SetVisible((IsInScene(pNode)));
        MoveData aMoveData = pNode.moveData;

        if (aMoveData.MoveDelay > 0.0f)
        {
            aMoveData.MoveDelay -= Time.deltaTime;
            if (aMoveData.MoveDelay <= 0.0f)
            {
                pNode.MoveEndCallback();
            }
        }
        else if (pNode.IsMoving())
        {
            float dx = aMoveData.delaX * Time.deltaTime;
            float dz = aMoveData.delaY * Time.deltaTime;
            if (Mathf.Abs(dx) >= Mathf.Abs(aMoveData.dx))
            {
                dx           = aMoveData.dx;
                aMoveData.dx = 0.0f;
            }
            else
            {
                aMoveData.dx -= dx;
            }

            if (Mathf.Abs(dz) >= Mathf.Abs(aMoveData.dz))
            {
                dz           = aMoveData.dz;
                aMoveData.dz = 0.0f;
            }
            else
            {
                aMoveData.dz -= dz;
            }
            Vector3 curPos = pNode.GetPosition();
            curPos.x += dx;
            curPos.z += dz;
            pNode.SetPosition(curPos);

            if (aMoveData.dx == 0.0f && aMoveData.dz == 0.0f)
            {
                pNode.MoveEndCallback();
            }
        }
    }
Beispiel #9
0
        private async void AddRole(RoleNode roleNode, NodeEntityBase target)
        {
            try
            {
                IsBusy = true;

                if (AuthorisationManagerServiceManager.TargetNodeIsDropCandidate(target, roleNode))
                {
                    return;
                }

                if (target is RoleNode)
                {
                    var targets = Roles.Flatten <RoleNode>(t => t.Id.Equals(target.Id), Users);
                    var result  = await authorisationManagerServiceManager.AddRole(roleNode, (RoleNode)target, targets);
                }
                else if (target is UserNode)
                {
                    var targets = Users.Where(t => t.Id.Equals(target.Id));
                    var result  = await authorisationManagerServiceManager.AddRole(roleNode, (UserNode)target, targets);
                }
                else
                {
                    throw new Exception(
                              string.Format(
                                  "Invalid drop target. '{0}' can only be dropped onto a user or another role.",
                                  roleNode.Text));
                }

                ResetStatus();
            }
            catch (Exception ex)
            {
                ShowMessage(new Message()
                {
                    MessageType = MessageType.Error,
                    Text        = ex.Message
                }, true);

                IsBusy = false;
            }
            finally
            {
                OnPropertyChanged("");
            }
        }
Beispiel #10
0
        private async void RemoveRole(RoleNode roleNode)
        {
            if (roleNode.ParentType == ParentType.None)
            {
                ShowMessage(new Message()
                {
                    MessageType = MessageType.Warn,
                    Text        = string.Format("Can't remove role {0} as it has no parent.", roleNode.Text)
                }, true);
                return;
            }

            try
            {
                IsBusy = true;

                if (roleNode.ParentType == ParentType.RoleNode)
                {
                    var roles  = Roles.Flatten <RoleNode>(Users).ToList();
                    var result = await authorisationManagerServiceManager.RemoveRoleFromRole(roleNode, roles);
                }
                else if (roleNode.ParentType == ParentType.UserNode)
                {
                    var users  = Users.Flatten <UserNode>().ToList();
                    var result = await authorisationManagerServiceManager.RemoveRoleFromUser(roleNode, users);
                }

                ResetStatus();
            }
            catch (Exception ex)
            {
                ShowMessage(new Message()
                {
                    MessageType = MessageType.Error,
                    Text        = ex.Message
                }, true);

                IsBusy = false;
            }
            finally
            {
                OnPropertyChanged("");
            }
        }
        public override void update()
        {

            CswNbtMetaDataObjectClass RoleOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.RoleClass );
            CswNbtMetaDataNodeType SiteNT = _CswNbtSchemaModTrnsctn.MetaData.getNodeType( "Site" );
            if( null != SiteNT )
            {
                foreach( CswNbtObjClassRole RoleNode in RoleOC.getNodes( false, true, false, true ) )
                {
                    string SiteViewPermissionVal = CswNbtObjClassRole.MakeNodeTypePermissionValue( SiteNT.NodeTypeId, CswEnumNbtNodeTypePermission.View );
                    if( false == RoleNode.NodeTypePermissions.CheckValue( SiteViewPermissionVal ) )
                    {
                        RoleNode.NodeTypePermissions.AddValue( SiteViewPermissionVal );
                        RoleNode.postChanges( false );
                    }
                }
            }

        } // update()
 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 #13
0
    public void AddMovePoint(RoleNode pNode, Vector3 pos, float speedUp = 1.0f)
    {
        if (speedUp != 0)
        {
            pNode.moveData.SpeedUp = speedUp;
        }

        if (pNode.GetRoleStatus() == E_NodeStatus.Idle && pNode.moveData.MoveDelay <= 0.0f)
        {
            MoveTo(pNode, pos);
        }
        else
        {
            if (pNode.IsMoving())
            {
                pNode.PathList.Add((ushort)pos.x);
                pNode.PathList.Add((ushort)pos.z);
            }
        }
    }
Beispiel #14
0
    public void MoveTo(RoleNode MoveNode, Vector3 MoveTo)
    {
        Vector3 curPos = MoveNode.GetPosition();

        MoveTo.x = Mathf.Abs(MoveTo.x);
        MoveTo.z = Mathf.Abs(MoveTo.z);
        if (curPos.x != MoveTo.x || curPos.z != MoveTo.z)
        {
            Vector3 targetDir = MoveTo - curPos;//目标点的朝向 Vector3 tempDir=Vector3.Cross(transform.forward,targetDir.normalized);
            //float dotValue = Vector3.Dot(MoveNode.displayNode.transform.forward, targetDir.normalized);
            //float angle = Mathf.Acos(dotValue) * Mathf.Rad2Deg;//计算夹角
            //MoveNode.displayNode.transform.RotateAround(MoveNode.displayNode.transform.position, Vector3.up, angle);//旋转角色
            MoveNode.SetDir(targetDir);
            float su = MoveNode.moveData.SpeedUp > 4.0f ? 4.0f : MoveNode.moveData.SpeedUp;

            float duration = MoveNode.MoveTo(MoveTo.x, MoveTo.z, 1.0f);
            if (duration <= 0)
            {
                MoveNode.MoveEndCallback();
            }
        }
    }
Beispiel #15
0
        public override void update()
        {

            //Make all existing Roles timeout prop a max of 90
            CswNbtMetaDataObjectClass RoleOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.RoleClass );
            foreach( CswNbtObjClassRole RoleNode in RoleOC.getNodes( false, true, false, true ) )
            {
                if( RoleNode.Timeout.Value > 90 )
                {
                    RoleNode.Timeout.Value = 90;
                    RoleNode.postChanges( false );
                }
            }

            //Make Role.Timeout property Max Value 90 minutes
            foreach( CswNbtMetaDataNodeType RoleNT in RoleOC.getNodeTypes() )
            {
                CswNbtMetaDataNodeTypeProp TimeoutNTP = RoleNT.getNodeTypePropByObjectClassProp( CswNbtObjClassRole.PropertyName.Timeout );
                TimeoutNTP.MaxValue = 90;
            }

        } // update()
Beispiel #16
0
        private async void SaveRole(RoleNode roleNode)
        {
            try
            {
                IsBusy = true;

                var newRole = roleNode.Id.Equals(0);

                var duplicateRoles = Roles.Flatten <RoleNode>(r => r.Id.Equals(roleNode.Id), Users);

                var savedRole = await authorisationManagerServiceManager.SaveRole(roleNode, duplicateRoles);

                if (savedRole != null)
                {
                    if (newRole)
                    {
                        Roles.Add(roleNode);
                    }
                }

                ResetStatus();
            }
            catch (Exception ex)
            {
                ShowMessage(new Message()
                {
                    MessageType = MessageType.Error,
                    Text        = ex.Message
                }, true);

                IsBusy = false;
            }
            finally
            {
                OnPropertyChanged("");
            }
        }
        public override void update()
        {
            Int32 AdminRolePk = Int32.MinValue;
            CswCommaDelimitedString AdminRoles = new CswCommaDelimitedString();

            // Change the visibilily of the 'Roles and Users' view to global
            CswNbtView RolesAndUsersView = _CswNbtSchemaModTrnsctn.restoreView( "Roles and Users" );
            if( null != RolesAndUsersView )
            {
                RolesAndUsersView.SetVisibility( CswEnumNbtViewVisibility.Global, null, null );
                RolesAndUsersView.save();

                // For any roles that aren't Administrator roles, remove any role permissions
                CswNbtMetaDataObjectClass RoleOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.RoleClass );
                foreach( CswNbtObjClassRole RoleNode in RoleOC.getNodes( false, true, false ) )
                {
                    if( CswEnumTristate.True != RoleNode.Administrator.Checked )
                    {
                        foreach( CswEnumNbtNodeTypePermission Permission in CswEnumNbtNodeTypePermission.Members )
                        {
                            RoleNode.NodeTypePermissions.RemoveValue( CswNbtObjClassRole.MakeNodeTypePermissionValue( RoleOC.FirstNodeType.NodeTypeId, Permission ) );
                        }
                        RoleNode.NodeTypePermissions.SyncGestalt();
                        RoleNode.postChanges( false );
                    }
                    else
                    {
                        AdminRoles.Add( CswConvert.ToString( RoleNode.NodeId.PrimaryKey ) );
                    }

                    // We need this because setting the landing page for this Role is a special case
                    if( RoleNode.Name.Text == "Administrator" )
                    {
                        AdminRolePk = RoleNode.NodeId.PrimaryKey;
                    }
                }

                // Redirect Welcome Landingpage items
                CswTableUpdate TableUpdate = _CswNbtSchemaModTrnsctn.makeCswTableUpdate( "updateLandingPageItems_Case28518", "landingpage" );
                DataTable LandingPageDt = TableUpdate.getTable( "where for_roleid in (" + AdminRoles.ToString() + ")" );
                foreach( DataRow CurrentRow in LandingPageDt.Rows )
                {
                    if( CswConvert.ToInt32( CurrentRow["for_roleid"] ) == AdminRolePk )
                    {
                        if( CswConvert.ToString( CurrentRow["to_nodeviewid"] ) == "19" )
                        {
                            CurrentRow["displaytext"] = RolesAndUsersView.ViewName;
                        }
                    }

                    if( CswConvert.ToString( CurrentRow["displaytext"] ) == "Roles and Users" )
                    {
                        CurrentRow["to_nodeviewid"] = RolesAndUsersView.ViewId.get();
                    }

                }

                TableUpdate.update( LandingPageDt );
            }//if( null != RolesAndUsersView )

        }// update()
Beispiel #18
0
        public override void update()
        {
            //6-8 - update action and view permissions for CIS_Pro roles, and add WelcomePage Items
            CswNbtLandingPageTable LandingPageObj = _CswNbtSchemaModTrnsctn.getLandingPageTable();
            CswNbtMetaDataObjectClass RoleOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( NbtObjectClass.RoleClass );
            foreach( CswNbtObjClassRole RoleNode in RoleOC.getNodes( false, false ) )
            {
                LandingPageData.Request Request;
                if( RoleNode.Name.Text == "CISPro_Admin" )
                {
                    //Actions - edit view, multi-edit, reconcile, sessions, subscriptions
                    _CswNbtSchemaModTrnsctn.Permit.set( CswNbtActionName.Edit_View, RoleNode, true );
                    _CswNbtSchemaModTrnsctn.Permit.set( CswNbtActionName.Multi_Edit, RoleNode, true );
                    _CswNbtSchemaModTrnsctn.Permit.set( CswNbtActionName.Reconciliation, RoleNode, true );
                    _CswNbtSchemaModTrnsctn.Permit.set( CswNbtActionName.Sessions, RoleNode, true );
                    _CswNbtSchemaModTrnsctn.Permit.set( CswNbtActionName.Subscriptions, RoleNode, true );
                    
                    //Views (and Welcome Items) - roles and users, reports                    
                    List<CswNbtView> RolesAndUsersViews = _CswNbtSchemaModTrnsctn.restoreViews( "Roles and Users" );
                    CswNbtView RolesAndUsersView = null;
                    foreach( CswNbtView View in RolesAndUsersViews )
                    {
                        if( View.VisibilityRoleId != null || View.ViewVisibility == NbtViewVisibility.Global.ToString() )
                        {
                            RolesAndUsersView = View;
                            if( RolesAndUsersView.VisibilityRoleId == RoleNode.NodeId )
                            {
                                break;
                            }
                        }
                    }                    
                    if( null != RolesAndUsersView )
                    {
                        if( RolesAndUsersView.VisibilityRoleId != RoleNode.NodeId && RolesAndUsersView.ViewVisibility != NbtViewVisibility.Global.ToString() )
                        {
                            RolesAndUsersView = _CswNbtSchemaModTrnsctn.makeNewView(
                                "Roles and Users", RolesAndUsersView.Visibility, RoleNode.NodeId, null, RolesAndUsersView.ViewId.get());
                            RolesAndUsersView.save();
                        }
                        Request = new LandingPageData.Request
                        {
                            Type = CswNbtLandingPageItemType.Link,
                            ViewType = "View",
                            PkValue = RolesAndUsersView.ViewId.ToString(),
                            NodeTypeId = String.Empty,
                            Text = RolesAndUsersView.ViewName,
                            RoleId = RoleNode.NodeId.ToString(),
                            ActionId = String.Empty,
                            NewRow = 1,
                            NewColumn = 1
                        };
                        LandingPageObj.addLandingPageItem( Request );
                    }

                    List<CswNbtView> ReportsViews = _CswNbtSchemaModTrnsctn.restoreViews( "Reports" );
                    CswNbtView ReportsView = null;
                    foreach( CswNbtView View in ReportsViews )
                    {
                        if( View.VisibilityRoleId != null || View.ViewVisibility == NbtViewVisibility.Global.ToString() )
                        {
                            ReportsView = View;
                            if( ReportsView.VisibilityRoleId == RoleNode.NodeId )
                            {
                                break;
                            }
                        }
                    }     
                    if( null != ReportsView )
                    {
                        if( ReportsView.VisibilityRoleId != RoleNode.NodeId && ReportsView.ViewVisibility != NbtViewVisibility.Global.ToString() )
                        {
                            ReportsView = _CswNbtSchemaModTrnsctn.makeNewView(
                                "Reports", ReportsView.Visibility, RoleNode.NodeId, null, ReportsView.ViewId.get() );
                            ReportsView.save();
                        }
                        Request = new LandingPageData.Request
                        {
                            Type = CswNbtLandingPageItemType.Link,
                            ViewType = "View",
                            PkValue = ReportsView.ViewId.ToString(),
                            NodeTypeId = String.Empty,
                            Text = ReportsView.ViewName,
                            RoleId = RoleNode.NodeId.ToString(),
                            ActionId = String.Empty,
                            NewRow = 1,
                            NewColumn = 2
                        };
                        LandingPageObj.addLandingPageItem( Request );
                    }
                    //WelcomeItems - work units, vendors, UOM, Locations, Inventory Groups, Regulatory Listss
                    CswNbtView LocationsView = _CswNbtSchemaModTrnsctn.restoreView( "Locations", NbtViewVisibility.Global );
                    if( null != LocationsView )
                    {
                        Request = new LandingPageData.Request
                        {
                            Type = CswNbtLandingPageItemType.Link,
                            ViewType = "View",
                            PkValue = LocationsView.ViewId.ToString(),
                            NodeTypeId = String.Empty,
                            Text = LocationsView.ViewName,
                            RoleId = RoleNode.NodeId.ToString(),
                            ActionId = String.Empty,
                            NewRow = 1,
                            NewColumn = 3
                        };
                        LandingPageObj.addLandingPageItem( Request );
                    }
                    CswNbtView VendorsView = _CswNbtSchemaModTrnsctn.restoreView( "Vendors", NbtViewVisibility.Global );
                    if( null != VendorsView )
                    {
                        Request = new LandingPageData.Request
                        {
                            Type = CswNbtLandingPageItemType.Link,
                            ViewType = "View",
                            PkValue = VendorsView.ViewId.ToString(),
                            NodeTypeId = String.Empty,
                            Text = VendorsView.ViewName,
                            RoleId = RoleNode.NodeId.ToString(),
                            ActionId = String.Empty,
                            NewRow = 2,
                            NewColumn = 1
                        };
                        LandingPageObj.addLandingPageItem( Request );
                    }
                    CswNbtView WorkUnitsView = _CswNbtSchemaModTrnsctn.restoreView( "Work Units", NbtViewVisibility.Global );
                    if( null != WorkUnitsView )
                    {
                        Request = new LandingPageData.Request
                        {
                            Type = CswNbtLandingPageItemType.Link,
                            ViewType = "View",
                            PkValue = WorkUnitsView.ViewId.ToString(),
                            NodeTypeId = String.Empty,
                            Text = WorkUnitsView.ViewName,
                            RoleId = RoleNode.NodeId.ToString(),
                            ActionId = String.Empty,
                            NewRow = 2,
                            NewColumn = 2
                        };
                        LandingPageObj.addLandingPageItem( Request );
                    }
                    CswNbtView InventoryGroupsView = _CswNbtSchemaModTrnsctn.restoreView( "Inventory Groups", NbtViewVisibility.Global );
                    if( null != InventoryGroupsView )
                    {
                        Request = new LandingPageData.Request
                        {
                            Type = CswNbtLandingPageItemType.Link,
                            ViewType = "View",
                            PkValue = InventoryGroupsView.ViewId.ToString(),
                            NodeTypeId = String.Empty,
                            Text = InventoryGroupsView.ViewName,
                            RoleId = RoleNode.NodeId.ToString(),
                            ActionId = String.Empty,
                            NewRow = 2,
                            NewColumn = 3
                        };
                        LandingPageObj.addLandingPageItem( Request );
                    }
                    CswNbtView UoMView = _CswNbtSchemaModTrnsctn.restoreView( "Units of Measurement", NbtViewVisibility.Global );
                    if( null != UoMView )
                    {
                        Request = new LandingPageData.Request
                        {
                            Type = CswNbtLandingPageItemType.Link,
                            ViewType = "View",
                            PkValue = UoMView.ViewId.ToString(),
                            NodeTypeId = String.Empty,
                            Text = UoMView.ViewName,
                            RoleId = RoleNode.NodeId.ToString(),
                            ActionId = String.Empty,
                            NewRow = 3,
                            NewColumn = 1
                        };
                        LandingPageObj.addLandingPageItem( Request );
                    }
                    CswNbtView RegListsView = _CswNbtSchemaModTrnsctn.restoreView( "Regulatory Lists", NbtViewVisibility.Role );
                    if( null != RegListsView )
                    {
                        Request = new LandingPageData.Request
                        {
                            Type = CswNbtLandingPageItemType.Link,
                            ViewType = "View",
                            PkValue = RegListsView.ViewId.ToString(),
                            NodeTypeId = String.Empty,
                            Text = RegListsView.ViewName,
                            RoleId = RoleNode.NodeId.ToString(),
                            ActionId = String.Empty,
                            NewRow = 3,
                            NewColumn = 2
                        };
                        LandingPageObj.addLandingPageItem( Request );
                    }

                    RoleNode.postChanges( false );
                }
                else if( RoleNode.Name.Text == "CISPro_General" )
                {
                    //Actions - edit view, multi-edit, subscriptions
                    _CswNbtSchemaModTrnsctn.Permit.set( CswNbtActionName.Edit_View, RoleNode, true );
                    _CswNbtSchemaModTrnsctn.Permit.set( CswNbtActionName.Multi_Edit, RoleNode, true );
                    _CswNbtSchemaModTrnsctn.Permit.set( CswNbtActionName.Subscriptions, RoleNode, true );

                    //WelcomeItems - My Containers, My Expired Containers, My Cart
                    CswNbtView MyContainersView = _CswNbtSchemaModTrnsctn.restoreView( "My Containers", NbtViewVisibility.Global );
                    if( null != MyContainersView )
                    {
                        Request = new LandingPageData.Request
                        {
                            Type = CswNbtLandingPageItemType.Link,
                            ViewType = "View",
                            PkValue = MyContainersView.ViewId.ToString(),
                            NodeTypeId = String.Empty,
                            Text = "My Containers",
                            RoleId = RoleNode.NodeId.ToString(),
                            ActionId = String.Empty,
                            NewRow = 1,
                            NewColumn = 1
                        };
                        LandingPageObj.addLandingPageItem(Request);
                    }
                    CswNbtView MyExpiredContainersView = _CswNbtSchemaModTrnsctn.restoreView( "My Expiring Containers", NbtViewVisibility.Global );
                    if( null != MyExpiredContainersView )
                    {
                        Request = new LandingPageData.Request
                        {
                            Type = CswNbtLandingPageItemType.Link,
                            ViewType = "View",
                            PkValue = MyExpiredContainersView.ViewId.ToString(),
                            NodeTypeId = String.Empty,
                            Text = "My Expiring Containers",
                            RoleId = RoleNode.NodeId.ToString(),
                            ActionId = String.Empty,
                            NewRow = 1,
                            NewColumn = 2
                        };
                        LandingPageObj.addLandingPageItem( Request );
                    }
                    string SubmitRequestActionId = _CswNbtSchemaModTrnsctn.Actions[CswNbtActionName.Submit_Request].ActionId.ToString();
                    Request = new LandingPageData.Request
                    {
                        Type = CswNbtLandingPageItemType.Link,
                        ViewType = "Action",
                        PkValue = SubmitRequestActionId,
                        NodeTypeId = String.Empty,
                        Text = "My Cart",
                        RoleId = RoleNode.NodeId.ToString(),
                        ActionId = String.Empty,
                        NewRow = 1,
                        NewColumn = 3
                    };
                    LandingPageObj.addLandingPageItem( Request );

                    RoleNode.postChanges( false );
                }
                else if( RoleNode.Name.Text == "CISPro_Receiver" )
                {
                    //Actions - edit view, multi-edit, subscriptions
                    _CswNbtSchemaModTrnsctn.Permit.set( CswNbtActionName.Edit_View, RoleNode, true );
                    _CswNbtSchemaModTrnsctn.Permit.set( CswNbtActionName.Multi_Edit, RoleNode, true );
                    _CswNbtSchemaModTrnsctn.Permit.set( CswNbtActionName.Subscriptions, RoleNode, true );

                    //WelcomeItems - Create Material, search materials (requires restored search - not available yet)>>"Receive"
                    string CreateMaterialActionId = _CswNbtSchemaModTrnsctn.Actions[CswNbtActionName.Create_Material].ActionId.ToString();
                    Request = new LandingPageData.Request
                    {
                        Type = CswNbtLandingPageItemType.Link,
                        ViewType = "Action",
                        PkValue = CreateMaterialActionId,
                        NodeTypeId = String.Empty,
                        Text = "Create Material",
                        RoleId = RoleNode.NodeId.ToString(),
                        ActionId = String.Empty,
                        NewRow = 1,
                        NewColumn = 1
                    };
                    LandingPageObj.addLandingPageItem( Request );

                    RoleNode.postChanges( false );
                }
            }
        }//Update()
Beispiel #19
0
    /*public void SetTarget(GameObject target)
     * {
     *  m_target = target;
     * }*/

    public void SetNodeData(RoleNode nodeData)
    {
        m_NodeData = nodeData;
    }