public IActionResult Edit(TestRunnerGroup testRunnerGroup, IFormCollection form)
        {
            if (ModelState.IsValid)
            {
                _context.Update(testRunnerGroup);
                var id = testRunnerGroup.TestRunnerGroupID;

                var projectsSelected = form["Projects"].ToList();
                var projects = _context.Project;
                foreach (var project in projects)
                {
                    _context.Update(project);
                    if (projectsSelected.Any(t => Convert.ToInt32(t) == project.ID))
                    {
                        project.TestRunnerGroupID = id;
                    }
                    else
                    {
                        project.TestRunnerGroupID = null;
                    }
                }

                var foldersSelected = form["Folders"].ToList();
                var folders = _context.Folder;
                foreach (var folder in folders)
                {
                    _context.Update(folder);
                    if (foldersSelected.Any(t => Convert.ToInt32(t) == folder.FolderID))
                    {
                        folder.TestRunnerGroupID = id;
                    }
                    else
                    {
                        folder.TestRunnerGroupID = null;
                    }
                }

                var groupsSelected = form["Groups"].ToList();
                var groups = _context.Group;
                foreach (var group in groups)
                {
                    _context.Update(group);
                    if (groupsSelected.Any(t => Convert.ToInt32(t) == group.GroupID))
                    {
                        group.TestRunnerGroupID = id;
                    }
                    else
                    {
                        group.TestRunnerGroupID = null;
                    }
                }

                var runsSelected = form["Runs"].ToList();
                var runs = _context.Run;
                foreach (var run in runs)
                {
                    _context.Update(run);
                    if (runsSelected.Any(t => Convert.ToInt32(t) == run.RunID))
                    {
                        run.TestRunnerGroupID = id;
                    }
                    else
                    {
                        run.TestRunnerGroupID = null;
                    }
                }

                _context.SaveChanges();

                HttpContext.Session.SetString("Message", "Test Runner Group: " + testRunnerGroup.Name + " successfully edited");

                return RedirectToAction("Details", new RouteValueDictionary(new
                {
                    controller = "TestRunnerGroups",
                    action = "Details",
                    ID = testRunnerGroup.TestRunnerGroupID
                }));
            }

            return RedirectToAction("Index");
        }
        public IActionResult Create(TestRunnerGroup testRunnerGroup, IFormCollection form)
        {
            if (ModelState.IsValid)
            {
                _context.TestRunnerGroup.Add(testRunnerGroup);
                _context.SaveChanges();
                _context.Update(testRunnerGroup);

                foreach (var projectID in form["Projects"])
                {
                    var project = _context.Project.Single(t => t.ID == Convert.ToInt32(projectID));
                    _context.Update(project);
                    project.TestRunnerGroupID = testRunnerGroup.TestRunnerGroupID;
                    _context.SaveChanges();
                }

                foreach (var folderID in form["Folders"])
                {
                    var folder = _context.Folder.Single(t => t.FolderID == Convert.ToInt32(folderID));
                    _context.Update(folder);
                    folder.TestRunnerGroupID = testRunnerGroup.TestRunnerGroupID;
                    _context.SaveChanges();
                }

                foreach (var groupID in form["Groups"])
                {
                    var group = _context.Group.Single(t => t.GroupID == Convert.ToInt32(groupID));
                    _context.Update(group);
                    group.TestRunnerGroupID = testRunnerGroup.TestRunnerGroupID;
                    _context.SaveChanges();
                }

                foreach (var runID in form["Runs"])
                {
                    var run = _context.Run.Single(t => t.GroupID == Convert.ToInt32(runID));
                    _context.Update(run);
                    run.TestRunnerGroupID = testRunnerGroup.TestRunnerGroupID;
                    _context.SaveChanges();
                }

                HttpContext.Session.SetString("Message", "Test Runner Group: " + testRunnerGroup.Name + " successfully created");

                return RedirectToAction("Details", new RouteValueDictionary(new
                {
                    controller = "TestRunnerGroups",
                    action = "Details",
                    ID = testRunnerGroup.TestRunnerGroupID
                }));
            }

            return RedirectToAction("Details", new RouteValueDictionary(new
            {
                controller = "TestRunnerGroups",
                action = "Details",
                ID = testRunnerGroup.TestRunnerGroupID
            }));
        }