Пример #1
0
        ///<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;
            }
        }
Пример #2
0
        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);
        }