private void NewFacilityButton_Click(object sender, EventArgs e) { // Get parent site Site site; int index = -1; TreeNode node = SitesTreeView.SelectedNode; if (node.Tag is Site) { site = (Site)node.Tag; } else if (node.Tag is Facility) { Facility fac = (Facility)node.Tag; site = (Site)node.Parent.Tag; index = site.GetFacilities().IndexOf(fac) + 1; } else if (node.Tag is DetectionSystem) { Facility fac = (Facility)node.Parent.Tag; site = (Site)node.Parent.Parent.Tag; index = site.GetFacilities().IndexOf(fac) + 1; } else { Facility fac = (Facility)node.Parent.Parent.Tag; site = (Site)node.Parent.Parent.Parent.Tag; index = site.GetFacilities().IndexOf(fac) + 1; } if (index < 0) { index = site.GetFacilities().Count; } bool uniqueName = false; int iteration = 0; string name = ""; while (!uniqueName) { iteration++; name = "New-Facility-" + iteration.ToString(); uniqueName = !siteMan.ContainsName(name); } Facility newFacility = new Facility(site, name, 0); newFacility.SetIndex(index); siteMan.Save(); UpdateSitesTree(); siteManChanged = true; SitesTreeView.SelectedNode = SitesTreeView.Nodes.Find(name, true)[0]; }
private void DownButton_Click(object sender, EventArgs e) { TreeNode node = SitesTreeView.SelectedNode; if (node.Tag is Site) { Site site = (Site)node.Tag; int index = siteMan.GetSites().IndexOf(site); if (index < siteMan.GetSites().Count - 1) { site.SetIndex(index + 1); siteMan.Save(); UpdateSitesTree(); siteManChanged = true; SitesTreeView.SelectedNode = SitesTreeView.Nodes.Find(site.Name, true)[0]; } } else if (node.Tag is Facility) { Facility fac = (Facility)node.Tag; Site site = (Site)node.Parent.Tag; int index = site.GetFacilities().IndexOf(fac); if (index < site.GetFacilities().Count - 1) { site.SetIndex(index + 1); siteMan.Save(); UpdateSitesTree(); siteManChanged = true; SitesTreeView.SelectedNode = SitesTreeView.Nodes.Find(fac.Name, true)[0]; } } else if (node.Tag is DetectionSystem) { DetectionSystem sys = (DetectionSystem)node.Tag; Facility fac = (Facility)node.Parent.Tag; int index = fac.GetSystems().IndexOf(sys); if (index < fac.GetSystems().Count - 1) { fac.SetIndex(index + 1); siteMan.Save(); UpdateSitesTree(); siteManChanged = true; SitesTreeView.SelectedNode = SitesTreeView.Nodes.Find(sys.Name, true)[0]; } } else if (node.Tag is Instrument) { Instrument inst = (Instrument)node.Tag; DetectionSystem sys = (DetectionSystem)node.Parent.Tag; int index = sys.GetInstruments().IndexOf(inst); if (index < sys.GetInstruments().Count - 1) { inst.SetIndex(index + 1); siteMan.Save(); UpdateSitesTree(); siteManChanged = true; SitesTreeView.SelectedNode = SitesTreeView.Nodes.Find(inst.Name, true)[0]; } } }