public TestAssemblyElements GetTestAssembly(int id) { if (id < 1) { throw new ArgumentException($"{nameof(id)} must be greater than 1.", nameof(id)); } var assemblyInfo = _context.TestAssemblyInfo.FirstOrDefault(i => i.Id == id); if (assemblyInfo == null || assemblyInfo.IsSoftDeleted) { throw new AssemblyNotFoundException(); } var classesElements = new List <TestClassElements>(); var classesInfo = _context.TestClassInfo .Select(_ => new { _.AssemblyInfoId, _.Name, _.TestMethods }).ToArray(); foreach (var classInfo in classesInfo) { if (classInfo.AssemblyInfoId == assemblyInfo.Id) { var classElements = new TestClassElements { Name = classInfo.Name, MethodsNames = classInfo.TestMethods.Select(_ => _.Name).ToArray() }; classesElements.Add(classElements); } } var result = new TestAssemblyElements { AssemblyName = assemblyInfo.AssemblyName, TestClassesElements = classesElements }; return(result); }
public IEnumerable <TestAssemblyElements> GetTestAssembliesElements() { var result = new List <TestAssemblyElements>(); var assembliesInfo = _context.TestAssemblyInfo .Where(a => a.IsSoftDeleted == false) .Select(_ => new { _.AssemblyName, _.Id }).ToArray(); foreach (var assemblyInfo in assembliesInfo) { var classesElements = new List <TestClassElements>(); var classesInfo = _context.TestClassInfo .Select(_ => new { _.AssemblyInfoId, _.Name, _.TestMethods }).ToArray(); foreach (var classInfo in classesInfo) { if (classInfo.AssemblyInfoId == assemblyInfo.Id) { var classElements = new TestClassElements { Name = classInfo.Name, MethodsNames = classInfo.TestMethods.Select(_ => _.Name).ToArray() }; classesElements.Add(classElements); } } var assemblyElements = new TestAssemblyElements { AssemblyName = assemblyInfo.AssemblyName, TestClassesElements = classesElements }; result.Add(assemblyElements); } return(result); }