public async Task Delete(string id) { int _id = int.Parse(id); TestCase item = await _context.Tests.FindAsync(_id); if (item != null && item.ProblemId == _problemId && item.IsSample == _isSample) { TestCaseProvider prov = new TestCaseProvider(_workspace, _context, item); Directory.Delete(prov.GetRoot(), true); _context.Tests.Remove(item); await _context.SaveChangesAsync(); } }
public async Task Clear() { TestCase[] tests = (from x in _context.Tests where x.ProblemId == _problemId && x.IsSample == _isSample select x).ToArray(); foreach (TestCase v in tests) { TestCaseProvider item = new TestCaseProvider(_workspace, _context, v); Directory.Delete(item.GetRoot(), true); } _context.Tests.RemoveRange(tests); await _context.SaveChangesAsync(); }
public async Task <ITestCaseProvider> Create(TestCaseMetadata metadata) { TestCase empty = new TestCase { ProblemId = _problemId, IsSample = _isSample }; _context.Tests.Add(empty); await _context.SaveChangesAsync(); TestCaseProvider res = new TestCaseProvider(_workspace, _context, empty); Directory.CreateDirectory(res.GetRoot()); await res.SetMetadata(metadata); return(res); }