// GET: Runs/Details/5 public IActionResult Details(int?id) { if (id == null) { return(HttpNotFound()); } ViewData["Message"] = HttpContext.Session.GetString("Message"); HttpContext.Session.Remove("Message"); ProjectAndFolderAndGroupAndRunAndTestsAndTestRun viewModel = new ProjectAndFolderAndGroupAndRunAndTestsAndTestRun(); viewModel.Run = _context.Run.Single(m => m.RunID == id); if (viewModel.Run == null) { return(HttpNotFound()); } viewModel.Run.TestRuns = _context.TestRun.Where(m => m.RunID == id).ToList(); var dependencyGroup = new DependencyGroup(); foreach (TestRun testRun in viewModel.Run.TestRuns) { testRun.Test = _context.Test.Single(t => t.TestID == testRun.TestID); testRun.TestEnvironment = _context.TestEnvironment.SingleOrDefault(t => t.TestEnvironmentID == testRun.TestEnvironmentID); var Results = _context.Result.Where(t => t.TestRunID == testRun.TestRunID); if (Results.Any()) { testRun.Result = Results.OrderBy(t => t.ResultID).First(); } if (testRun.TestRunnerGroupID != null) { testRun.TestRunnerGroup = _context.TestRunnerGroup.Single(t => t.TestRunnerGroupID == testRun.TestRunnerGroupID); } if (testRun.DependencyGroupID == null) { var InvalidDependencyGroupIDsList = _context.Dependency.Where(t => t.TestRunID == testRun.TestRunID) .Select(t => t.DependencyGroupID).ToList(); testRun.ValidDependencyGroups = _context.DependencyGroup.Where (i => !InvalidDependencyGroupIDsList.Contains(i.DependencyGroupID)).ToList(); } if (testRun.DependencyGroupID != null) { dependencyGroup = _context.DependencyGroup.Single(t => t.DependencyGroupID == testRun.DependencyGroupID); testRun.DependencyGroup = dependencyGroup; var Dependencies = _context.Dependency.Where(t => t.DependencyGroupID == dependencyGroup.DependencyGroupID); foreach (var dependency in Dependencies) { dependency.TestRun = _context.TestRun.SingleOrDefault(t => t.TestRunID == dependency.TestRunID); testRun.DependencyGroup.Dependencies.Add(dependency); var Run = _context.Run.SingleOrDefault(t => t.RunID == testRun.RunID); var Group = _context.Group.SingleOrDefault(t => t.GroupID == Run.GroupID); var Folder = _context.Folder.SingleOrDefault(t => t.FolderID == Group.FolderID); var Project = _context.Project.SingleOrDefault(t => t.ID == Folder.ProjectID); List <NavigationLink> NavLinkList = new List <NavigationLink> { new NavigationLink { Text = "Project: " + Project.Name, Controller = "Projects", Action = "Details", RouteID = Project.ID }, new NavigationLink { Text = "Folder: " + Folder.Name, Controller = "Folders", Action = "Details", RouteID = Folder.FolderID }, new NavigationLink { Text = "Group: " + Group.Name, Controller = "Groups", Action = "Details", RouteID = Group.GroupID }, new NavigationLink { Text = "Run: " + Run.Name, Controller = "Runs", Action = "Details", RouteID = Run.RunID } }; ViewData["DependencyNavLinkList" + dependency.DependencyID] = NavLinkList; } } } viewModel.Run.TestRunnerGroup = _context.TestRunnerGroup.SingleOrDefault (t => t.TestRunnerGroupID == viewModel.Run.TestRunnerGroupID); viewModel.Group = _context.Group.Single(m => m.GroupID == viewModel.Run.GroupID); viewModel.Folder = _context.Folder.Single(m => m.FolderID == viewModel.Group.FolderID); viewModel.Project = _context.Project.Single(m => m.ID == viewModel.Folder.ProjectID); string strTestRunnerGroupDescription, strTestRunnerGroupName; if (viewModel.Run.TestRunnerGroupID != null) { strTestRunnerGroupDescription = "Taken from Run"; strTestRunnerGroupName = _context.TestRunnerGroup.Single (t => t.TestRunnerGroupID == viewModel.Run.TestRunnerGroupID).Name; } else if (viewModel.Group.TestRunnerGroupID != null) { strTestRunnerGroupDescription = "Taken from Group"; strTestRunnerGroupName = _context.TestRunnerGroup.Single (t => t.TestRunnerGroupID == viewModel.Group.TestRunnerGroupID).Name; } else if (viewModel.Folder.TestRunnerGroupID != null) { strTestRunnerGroupDescription = "Taken from Folder"; strTestRunnerGroupName = _context.TestRunnerGroup.Single (t => t.TestRunnerGroupID == viewModel.Folder.TestRunnerGroupID).Name; } else if (viewModel.Project.TestRunnerGroupID != null) { strTestRunnerGroupDescription = "Taken from Project"; strTestRunnerGroupName = _context.TestRunnerGroup.Single (t => t.TestRunnerGroupID == viewModel.Project.TestRunnerGroupID).Name; } else { strTestRunnerGroupDescription = "No Test Runner Group assigned"; strTestRunnerGroupName = "No Test Runner Group assigned"; } ViewBag.TestRunnerGroupDescription = strTestRunnerGroupDescription; ViewBag.TestRunnerGroupName = strTestRunnerGroupName; var alltestrunIDs = _context.TestRun.Where(m => m.RunID == id).Select(t => t.TestRunID); ViewData["AllTestRunIDs"] = string.Join(",", alltestrunIDs); ViewBag.tests = new SelectList(_context.Test, "TestID", "Name"); ViewBag.testEnvironments = new SelectList(_context.TestEnvironment, "TestEnvironmentID", "Name"); ViewBag.browsers = new SelectList(new List <string> { "Chrome", "Firefox", "IE" }); return(View(viewModel)); }
// GET: Runs/Details/5 public IActionResult Details(int? id) { if (id == null) { return HttpNotFound(); } ViewData["Message"] = HttpContext.Session.GetString("Message"); HttpContext.Session.Remove("Message"); ProjectAndFolderAndGroupAndRunAndTestsAndTestRun viewModel = new ProjectAndFolderAndGroupAndRunAndTestsAndTestRun(); viewModel.Run = _context.Run.Single(m => m.RunID == id); if (viewModel.Run == null) { return HttpNotFound(); } viewModel.Run.TestRuns = _context.TestRun.Where(m => m.RunID == id).ToList(); var dependencyGroup = new DependencyGroup(); foreach (TestRun testRun in viewModel.Run.TestRuns) { testRun.Test = _context.Test.Single(t => t.TestID == testRun.TestID); testRun.TestEnvironment = _context.TestEnvironment.SingleOrDefault(t => t.TestEnvironmentID == testRun.TestEnvironmentID); var Results = _context.Result.Where(t => t.TestRunID == testRun.TestRunID); if(Results.Any()) { testRun.Result = Results.OrderBy(t => t.ResultID).First(); } if (testRun.TestRunnerGroupID != null) { testRun.TestRunnerGroup = _context.TestRunnerGroup.Single(t => t.TestRunnerGroupID == testRun.TestRunnerGroupID); } if (testRun.DependencyGroupID == null) { var InvalidDependencyGroupIDsList = _context.Dependency.Where(t => t.TestRunID == testRun.TestRunID) .Select(t => t.DependencyGroupID).ToList(); testRun.ValidDependencyGroups = _context.DependencyGroup.Where (i => !InvalidDependencyGroupIDsList.Contains(i.DependencyGroupID)).ToList(); } if (testRun.DependencyGroupID != null) { dependencyGroup = _context.DependencyGroup.Single(t => t.DependencyGroupID == testRun.DependencyGroupID); testRun.DependencyGroup = dependencyGroup; var Dependencies = _context.Dependency.Where(t => t.DependencyGroupID == dependencyGroup.DependencyGroupID); foreach (var dependency in Dependencies) { dependency.TestRun = _context.TestRun.SingleOrDefault(t => t.TestRunID == dependency.TestRunID); testRun.DependencyGroup.Dependencies.Add(dependency); var Run = _context.Run.SingleOrDefault(t => t.RunID == testRun.RunID); var Group = _context.Group.SingleOrDefault(t => t.GroupID == Run.GroupID); var Folder = _context.Folder.SingleOrDefault(t => t.FolderID == Group.FolderID); var Project = _context.Project.SingleOrDefault(t => t.ID == Folder.ProjectID); List<NavigationLink> NavLinkList = new List<NavigationLink> { new NavigationLink { Text = "Project: " + Project.Name, Controller = "Projects", Action = "Details", RouteID = Project.ID }, new NavigationLink { Text = "Folder: " + Folder.Name, Controller = "Folders", Action = "Details", RouteID = Folder.FolderID }, new NavigationLink { Text = "Group: " + Group.Name, Controller = "Groups", Action = "Details", RouteID = Group.GroupID }, new NavigationLink { Text = "Run: " + Run.Name, Controller = "Runs", Action = "Details", RouteID = Run.RunID } }; ViewData["DependencyNavLinkList" + dependency.DependencyID] = NavLinkList; } } } viewModel.Run.TestRunnerGroup = _context.TestRunnerGroup.SingleOrDefault (t => t.TestRunnerGroupID == viewModel.Run.TestRunnerGroupID); viewModel.Group = _context.Group.Single(m => m.GroupID == viewModel.Run.GroupID); viewModel.Folder = _context.Folder.Single(m => m.FolderID == viewModel.Group.FolderID); viewModel.Project = _context.Project.Single(m => m.ID == viewModel.Folder.ProjectID); string strTestRunnerGroupDescription, strTestRunnerGroupName; if (viewModel.Run.TestRunnerGroupID != null) { strTestRunnerGroupDescription = "Taken from Run"; strTestRunnerGroupName = _context.TestRunnerGroup.Single (t => t.TestRunnerGroupID == viewModel.Run.TestRunnerGroupID).Name; } else if (viewModel.Group.TestRunnerGroupID != null) { strTestRunnerGroupDescription = "Taken from Group"; strTestRunnerGroupName = _context.TestRunnerGroup.Single (t => t.TestRunnerGroupID == viewModel.Group.TestRunnerGroupID).Name; } else if (viewModel.Folder.TestRunnerGroupID != null) { strTestRunnerGroupDescription = "Taken from Folder"; strTestRunnerGroupName = _context.TestRunnerGroup.Single (t => t.TestRunnerGroupID == viewModel.Folder.TestRunnerGroupID).Name; } else if (viewModel.Project.TestRunnerGroupID != null) { strTestRunnerGroupDescription = "Taken from Project"; strTestRunnerGroupName = _context.TestRunnerGroup.Single (t => t.TestRunnerGroupID == viewModel.Project.TestRunnerGroupID).Name; } else { strTestRunnerGroupDescription = "No Test Runner Group assigned"; strTestRunnerGroupName = "No Test Runner Group assigned"; } ViewBag.TestRunnerGroupDescription = strTestRunnerGroupDescription; ViewBag.TestRunnerGroupName = strTestRunnerGroupName; var alltestrunIDs = _context.TestRun.Where(m => m.RunID == id).Select(t => t.TestRunID); ViewData["AllTestRunIDs"] = string.Join(",", alltestrunIDs); ViewBag.tests = new SelectList(_context.Test, "TestID", "Name"); ViewBag.testEnvironments = new SelectList(_context.TestEnvironment, "TestEnvironmentID", "Name"); ViewBag.browsers = new SelectList(new List<string> { "Chrome", "Firefox", "IE" }); return View(viewModel); }