private void cmsTagIndependent_Click(object sender, EventArgs e) { if (trvSurveyTag.SelectedNode != null) { TreeNode node = trvSurveyTag.SelectedNode; TreeNode parentNode = node.Parent; TreeNode grandparentNode = node.Parent.Parent; TreeNode newNode = (TreeNode)node.Clone(); if (node.Parent != null && node.Parent.Parent != null) { string parentNodeName = parentNode.Text; string grandparentNodeName = grandparentNode.Text; G.glb.lstSurveySubTag.RemoveAll(o => o.Tag == parentNode.Text && o.SubTag == node.Text); RSurveySubTag newSub = new RSurveySubTag(); newSub.SurveyTitle = lsbSurvey.SelectedItem.ToString(); newSub.Tag = grandparentNode.Text; newSub.SubTag = node.Text; newSub.SubTagIndex = grandparentNode.Nodes.Count; G.glb.lstSurveySubTag.Add(newSub); grandparentNode.Nodes.Insert(parentNode.Index + 1, newNode); node.Remove(); trvSurveyTag.SelectedNode = newNode; ReIndex(grandparentNodeName); ReIndex(parentNodeName); } } }
private void btnSave_Click(object sender, EventArgs e) { if (G.glb.lstSurveyTag.Exists(o => o.SurveyTitle == lblSurveyName.Text && o.Tag == txtTagName.Text)) { MessageBox.Show("Survey tag exists!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else if (cmbTagType.Text == "SingleOption" && lsbOption.Items.Count == 0) { MessageBox.Show("Please provide options", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { // Add survey tag RSurveyTag newSurveyTag = new RSurveyTag(); newSurveyTag.SurveyTitle = lblSurveyName.Text; newSurveyTag.Tag = txtTagName.Text; newSurveyTag.TagType = (ESurveyTagType)(cmbTagType.SelectedIndex); G.glb.lstSurveyTag.Add(newSurveyTag); // Add survey tag relation RSurveySubTag newSurveySubTag = new RSurveySubTag(); newSurveySubTag.SurveyTitle = lblSurveyName.Text; newSurveySubTag.Tag = UpperSurveyTag; newSurveySubTag.SubTag = txtTagName.Text; int maxIndex; if (G.glb.lstSurveySubTag.Exists(o => o.Tag == UpperSurveyTag)) { List <RSurveySubTag> sameLevel = G.glb.lstSurveySubTag.FindAll(o => o.Tag == UpperSurveyTag).ToList(); sameLevel = sameLevel.OrderByDescending(o => o.SubTagIndex).ToList(); maxIndex = sameLevel[0].SubTagIndex + 1; } else { maxIndex = 0; } newSurveySubTag.SubTagIndex = maxIndex; G.glb.lstSurveySubTag.Add(newSurveySubTag); // Add survey tag options if (cmbTagType.Text == "SingleOption" && lstOption.Count > 0) { foreach (string item in lstOption) { RSurveyTagValueOption newSurveyTagValueOption = new RSurveyTagValueOption(); newSurveyTagValueOption.SurveyTitle = lblSurveyName.Text; newSurveyTagValueOption.Tag = txtTagName.Text; newSurveyTagValueOption.TagOption = item; G.glb.lstSurveyTagValueOption.Add(newSurveyTagValueOption); } } AddChildNode(txtTagName.Text); Dispose(); } }