Esempio n. 1
0
 public frmTreeEditBase(TreeNode treeNode)
     : base(treeNode.Tag as XModelBase)
 {
     InitializeComponent();
     this.m_TreeView = treeNode.TreeView as XTreeView;
     this.m_TreeNode = treeNode;
     this.Init();
 }
Esempio n. 2
0
 public frmTreeEditBase(XTreeView treeView)
     : base()
 {
     InitializeComponent();
     this.m_TreeView = treeView;
     if (treeView.Nodes.Count == 0)
     {
         this.chkIsRootNode.Checked = true;
         this.chkIsRootNode.Enabled = false;
     }
     this.Init();
 }
 public frmCodeFolderTypeTreeEdit(XTreeView treeView)
     : base(treeView)
 {
     InitializeComponent();
 }
        private void XTreeView_SelectionChanged(object sender, Telerik.Windows.Controls.SelectionChangedEventArgs e)
        {
            if (sender == this)
            {
                return;
            }
            var isSkip = false;

            if (e.AddedItems.Count == 1)
            {
                var securityObject = e.AddedItems[0] as IManagementConsoleObject;
                if (securityObject != null)
                {
                    ProjectListViewControlPanel.DataContext = securityObject;
                    if (e.RemovedItems.Count == 1 && (Updates.Count > 0 || MetadataUpdates.Count > 0))
                    {
                        var oldItem = e.RemovedItems[0];
                        SuperMessageBoxService.ShowWarning("Confirmation",
                                                           "Do you want to apply your changes? \r\n\r\n" +
                                                           "Press YES to apply\r\n" +
                                                           "Press No to discard the changes you have made\r\n",
                                                           "Yes", "No", "Cancel",
                                                           ApplyChanges,
                                                           () =>
                        {
                            foreach (var update in Updates)
                            {
                                foreach (var updatePair in update.Value)
                                {
                                    update.Key.ResetChange(updatePair.Key);
                                }
                            }
                            Updates.Clear();
                            MetadataUpdates.Clear();
                            PermissionDetails.ApplyEnabled = false;
                            var oldObject = oldItem as IManagementConsoleObject;
                            if (oldObject != null)
                            {
                                oldObject.ReloadMetadata();
                            }
                            XTreeView.SelectedItem = e.AddedItems[0];
                        },
                                                           () =>
                        {
                            XTreeView.SelectedItem = oldItem;
                            isSkip = true;
                        });
                    }


                    if (!isSkip && App.PermissionLevel == PermissionLevel.SecurityManager)
                    {
                        if (securityObject is Project)
                        {
                            if (!securityObject.IsLoaded)
                            {
                                _securityManager.GetSecurityAssociationsAsync(securityObject,
                                                                              ClientOnGetSecurityAssociationsCompleted, AllSecurityGroups,
                                                                              new GlymaSecurableObject
                                {
                                    SecurableParentUid = Guid.Empty,
                                    SecurableObjectUid = securityObject.Id
                                });
                            }
                            foreach (var project in _projects)
                            {
                                if (project.Id != securityObject.Id)
                                {
                                    project.IsSelected = false;
                                }
                            }
                        }
                        else if (securityObject is RootMap)
                        {
                            if (!securityObject.IsLoaded)
                            {
                                _securityManager.GetSecurityAssociationsAsync(securityObject,
                                                                              ClientOnGetSecurityAssociationsCompleted, AllSecurityGroups,
                                                                              new GlymaSecurableObject
                                {
                                    SecurableParentUid = securityObject.ParentId,
                                    SecurableObjectUid = securityObject.Id
                                });
                            }
                            foreach (var project in _projects)
                            {
                                if (project.Id == securityObject.ParentId)
                                {
                                    foreach (var rootMap in project.RootMaps)
                                    {
                                        if (rootMap.Id != securityObject.Id)
                                        {
                                            rootMap.IsSelected = false;
                                        }
                                    }
                                }
                                else
                                {
                                    project.IsSelected = false;
                                }
                            }
                        }
                    }
                }
                Focus();
                XTreeView.Focus();
            }
        }