public string[] GetUnprocessedFilenames(string[] allFilePaths) { var filenames = allFilePaths.Select(x => x.Substring(x.LastIndexOf(Path.DirectorySeparatorChar) + 1)).ToHashSet(); using (var db = new CollectorContext()) { var processedTestRuns = db.TestRuns.Select(x => x.OriginalFileName).ToHashSet(); return(filenames.Except(processedTestRuns).ToArray()); } }
private ConcurrentDictionary <string, TestRunDao> GetTestRunIds() { using (var db = new CollectorContext()) { var testRunDaos = db.TestRuns .ToList() .GroupBy(x => x.UniqueId) .ToDictionary(k => k.Key, v => v.Select(f => f).Single()); return(new ConcurrentDictionary <string, TestRunDao>(testRunDaos)); } }
public TestRunViewModel GetTestRun(TestRunType type, FlytApplication app, int version) { using (var db = new CollectorContext()) { var testResultViewModels = from testResult in db.TestResults join testRun in db.TestRuns on testResult.TestRunId equals testRun.Id where testRun.TestRunType == type && testRun.FlytApplicationType == app && testRun.BuildNumber == version select new TestResultViewModel(new TestResult(testResult, testRun)); return(testResultViewModels .ToList() .GroupBy(t => t.TestResult.TestRunMetaData.Id) .Select(grp => new TestRunViewModel(grp.ToList())) .First()); } }
public List <TestRunViewModel> GetLastTestRuns(TestRunType type) { using (var db = new CollectorContext()) { var testResultViewModels = from testResult in db.TestResults join testRun in db.TestRuns on testResult.TestRunId equals testRun.Id where testRun.TestRunType == type && testRun.LastRun > _twoMonthsAgo select new TestResultViewModel(new TestResult(testResult, testRun)); return(testResultViewModels .ToList() .GroupBy(t => t.TestResult.TestRunMetaData.Id) .Select(grp => new TestRunViewModel(grp.ToList())) .ToList()); } }
public int Get11ThBuildNumber() { using (var db = new CollectorContext()) { var lastBuilds = db.TestRuns .ToList() .GroupBy(x => x.BuildNumber) .OrderByDescending(x => x.Key) .ToList(); if (lastBuilds.Count > 10) { return(lastBuilds.Skip(10).First().Key); } return(lastBuilds.Last().Key); } }
public void AddTestRun(TestRun testRun) { if (testRun == null) { throw new Exception($"testRun is null"); } if (_testRunIds.ContainsKey(testRun.GetUniqueId())) { throw new Exception($"not unique with {_testRunIds[testRun.GetUniqueId()].OriginalFileName}"); } using (var db = new CollectorContext()) { var entityEntry = db.TestRuns.Add(new TestRunDao(testRun, VERSION)).Entity; db.SaveChanges(); _testRunIds.TryAdd(testRun.GetUniqueId(), entityEntry); var testResultDaos = testRun.Results.Select(x => new TestResultDao(x, entityEntry.Id, VERSION)).ToList(); db.TestResults.AddRange(testResultDaos); db.SaveChanges(); } }