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(); }
/// <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; }