/// <summary> /// Test Find using the Query class /// </summary> private void Step_30_TestFindByQuery_Generated() { using (TransactionManager tm = CreateTransaction()) { //Insert Mock Instance Files mock = CreateMockInstance(tm); bool result = DataRepository.FilesProvider.Insert(tm, mock); Assert.IsTrue(result, "Could Not Test FindByQuery, Insert Failed"); FilesQuery query = new FilesQuery(); query.AppendEquals(FilesColumn.Id, mock.Id.ToString()); if (mock.Filename != null) { query.AppendEquals(FilesColumn.Filename, mock.Filename.ToString()); } if (mock.Version != null) { query.AppendEquals(FilesColumn.Version, mock.Version.ToString()); } if (mock.LastDate != null) { query.AppendEquals(FilesColumn.LastDate, mock.LastDate.ToString()); } TList <Files> results = DataRepository.FilesProvider.Find(tm, query); Assert.IsTrue(results.Count == 1, "Find is not working correctly. Failed to find the mock instance"); } }
public async Task <List <StoredFile> > GetFiles(FilesQuery filesQuery = null) { if (filesQuery == null) { filesQuery = new FilesQuery(); } using var context = _ApplicationDbContextFactory.CreateContext(); return(await context.Files .Include(file => file.ApplicationUser) .Where(file => (!filesQuery.Id.Any() || filesQuery.Id.Contains(file.Id)) && (!filesQuery.UserIds.Any() || filesQuery.UserIds.Contains(file.ApplicationUserId))) .OrderByDescending(file => file.Timestamp) .ToListAsync()); }