コード例 #1
0
        void removeTeam_Click(object sender, EventArgs e)
        {
            var senderTeam     = this.FindAncestor <OrgContainerShape>();
            var diagramElement = this.FindAncestor <RadDiagramElement>();
            var linkToDelete   = diagramElement.Connections.Where(x => x.Target == senderTeam).FirstOrDefault();

            if (linkToDelete != null)
            {
                var sourceShape = linkToDelete.Source as OrgContainerShape;
                sourceShape.ShowCollapseButton = diagramElement.Connections.Where(x => x.Source == sourceShape).Count() > 1;
                diagramElement.RemoveConnection(linkToDelete);
            }

            var teamMembers = senderTeam.Items.Where(x => x is RadDiagramShape);
            int i           = teamMembers.Count() - 1;

            while (i >= 0)
            {
                var teamMember = teamMembers.Last();
                i--;
                diagramElement.RemoveShape((RadDiagramShape)teamMember);
            }
            diagramElement.RemoveShape(senderTeam);
            OrganizationShemaForm.currentLayoutSettings.Roots.Remove(senderTeam);
            diagramElement.SetLayout(Telerik.Windows.Diagrams.Core.LayoutType.Tree, OrganizationShemaForm.currentLayoutSettings);
            var ID = Convert.ToInt32(senderTeam.Tag.ToString());

            if (_context == null)
            {
                _context = new AppDbContext(null);
            }
            _context.Organization.Remove(_context.Organization.Where(x => x.Id == ID).FirstOrDefault());
            _context.SaveChanges();
        }
コード例 #2
0
        /// <summary>
        /// HeaderPresenterElement
        /// </summary>
        /// <param name="toggleCollapseButton"></param>
        /// <param name="label"></param>
        public OrgHeaderPresenterElement(AppDbContext context, RadToggleButtonElement toggleCollapseButton, RadLabelElement label)
        {
            _context = context;
            this.StretchVertically = false;

            this.label = label;
            this.label.StretchHorizontally = false;
            this.label.Font           = new Font(this.label.Font.FontFamily, 14);
            this.toggleCollapseButton = toggleCollapseButton;
            this.teamMembers          = new RadLabelElement();

            this.Children.Add(this.label);
            this.Children.Add(this.toggleCollapseButton);
            this.Children.Add(this.teamMembers);

            this.teamMembers.LabelFill.Visibility = Telerik.WinControls.ElementVisibility.Visible;

            this.teamMembers.ForeColor                = Color.White;
            this.teamMembers.LabelFill.BackColor      = Color.Black;
            this.teamMembers.LabelFill.NumberOfColors = 1;
            this.teamMembers.Click += this.teamMembers_Click;
            this.label.Click       += this.teamMembers_Click;
        }