///<summary></summary> private void gridSubs_RightClickHelper(object sender, EventArgs e) { int index = gridSubs.GetSelectedIndex(); if (index == -1) //Should not happen, menu item is only enabled when exactly 1 row is selected. { return; } List <BugSubmission> listSubs; switch (((MenuItem)sender).Index) { case 0: //Open Submission listSubs = (List <BugSubmission>)gridSubs.ListGridRows[index].Tag; FormBugSubmission formBugSub = new FormBugSubmission(listSubs[0], _jobCur); formBugSub.Show(); break; case 1: //Open Bug listSubs = (List <BugSubmission>)gridSubs.ListGridRows[index].Tag; OpenBug(listSubs[0]); break; case 2: //Hide or Unhide submission listSubs = gridSubs.SelectedTags <List <BugSubmission> >().SelectMany(x => x.ToList()).ToList(); bool isHidden = (!listSubs.First().IsHidden); //Flip all grouped submissions based on what the user selected/sees in the grid. listSubs.ForEach(x => x.IsHidden = isHidden); BugSubmissions.UpdateMany(listSubs, "IsHidden"); FillSubGrid(true); break; case 3: //Link or Unlink bug listSubs = gridSubs.SelectedTags <List <BugSubmission> >().SelectMany(x => x.ToList()).ToList(); if (listSubs.First().BugId == 0) //Not linked to existing bug, so link { FormBugSearch formBS = new FormBugSearch(new Job()); if (formBS.ShowDialog() != DialogResult.OK) { return; } listSubs.ForEach(x => x.BugId = formBS.BugCur.BugId); BugSubmissionHashes.UpdateBugIds(listSubs, formBS.BugCur.BugId); } else //Unlink { listSubs.ForEach(x => x.BugId = 0); BugSubmissionHashes.UpdateBugIds(listSubs, 0); } BugSubmissions.UpdateMany(listSubs, "BugId"); FillSubGrid(true); break; } }
private bool AddBug() { FormBugSearch FormBS = new FormBugSearch(_jobNew); FormBS.ShowDialog(); if (FormBS.DialogResult != DialogResult.OK || FormBS.BugCur == null) { return(false); } JobLink jobLink = new JobLink(); jobLink.FKey = FormBS.BugCur.BugId; jobLink.LinkType = JobLinkType.Bug; _listJobLinks.Add(jobLink); FillGridBugs(); return(true); }