public QueryTypes FetchByFilter(RepositoryFilter filter) { try { using (IDbConnection db = new SqlConnection(ConnectionString)) { var result = new QueryTypes(); var query = "SELECT COUNT(Id) FROM QueryCategory"; result.TotalItems = db.Query <int>(query).FirstOrDefault(); query = "SELECT qc.[Id], qc.[Name], COUNT(q.CategoryId) AS [AssociatedQueries] " + "FROM QueryCategory qc LEFT JOIN Query q ON qc.Id = q.CategoryId " + "GROUP BY qc.Id, qc.Name " + $"ORDER BY {filter.SortColumn} {filter.SortDirection} " + $"OFFSET {filter.Offset} ROWS FETCH NEXT {filter.PageSize} ROWS ONLY;"; result.Items = db.Query <QueryType>(query)?.ToList(); return(result); } } catch (Exception e) { Console.WriteLine(e); throw; } }
public Papers FetchByFilter(RepositoryFilter filter) { try { using (IDbConnection db = new SqlConnection(ConnectionString)) { var result = new Papers(); var query = "SELECT COUNT(Id) FROM Paper"; result.TotalItems = db.Query <int>(query).FirstOrDefault(); query = "SELECT p.[Id], pc.[Name] as Category, CategoryId, [Title], [Year], [Description], [Publish] " + "FROM Paper p JOIN PaperCategory pc ON p.CategoryId = pc.Id " + $"ORDER BY {filter.SortColumn} {filter.SortDirection} " + $"OFFSET {filter.Offset} ROWS FETCH NEXT {filter.PageSize} ROWS ONLY;"; result.Items = db.Query <PaperMetadata>(query)?.ToList(); return(result); } } catch (Exception e) { Console.WriteLine(e); throw; } }
public Queries FetchByFilter(RepositoryFilter filter, string paperId) { try { using (IDbConnection db = new SqlConnection(ConnectionString)) { var result = new Queries(); var query = "SELECT COUNT(Id) FROM Query Where PaperId = @PaperId"; result.TotalItems = db.Query <int>(query, new { PaperId = paperId }).FirstOrDefault(); query = "SELECT q.[Id], [PaperId], qc.[Name] As Category, q.[CategoryId], [Question], [Answer], [Option1], " + "[Option2], [Option3] FROM Query q JOIN QueryCategory qc ON q.CategoryId = qc.Id " + $"WHERE PaperId = '{paperId}' " + $"ORDER BY {filter.SortColumn} {filter.SortDirection} " + $"OFFSET {filter.Offset} ROWS FETCH NEXT {filter.PageSize} ROWS ONLY;"; result.Items = db.Query <Query>(query)?.ToList(); return(result); } } catch (Exception e) { Console.WriteLine(e); throw; } }
public void TestIncrementDate() { Assert.AreEqual(new DateTime(2008, 01, 02), RepositoryFilter.IncrementDateByRepositoryFilter(new DateTime(2008, 01, 01), RepositoryFilterType.ByDay)); Assert.AreEqual(new DateTime(2008, 01, 01, 02, 00, 00), RepositoryFilter.IncrementDateByRepositoryFilter(new DateTime(2008, 01, 01, 01, 00, 00), RepositoryFilterType.ByHour)); Assert.AreEqual(new DateTime(2008, 01, 01, 01, 01, 00), RepositoryFilter.IncrementDateByRepositoryFilter(new DateTime(2008, 01, 01, 01, 00, 00), RepositoryFilterType.ByMinute)); Assert.AreEqual(new DateTime(2008, 02, 01), RepositoryFilter.IncrementDateByRepositoryFilter(new DateTime(2008, 01, 01), RepositoryFilterType.ByMonth)); Assert.AreEqual(new DateTime(2008, 01, 08), RepositoryFilter.IncrementDateByRepositoryFilter(new DateTime(2008, 01, 01), RepositoryFilterType.ByWeek)); Assert.AreEqual(new DateTime(2009, 01, 01), RepositoryFilter.IncrementDateByRepositoryFilter(new DateTime(2008, 01, 01), RepositoryFilterType.ByYear)); }
public void TestTrimDate() { DateTime t = new DateTime(2008, 02, 01, 15, 33, 14); Assert.AreEqual(new DateTime(2008, 02, 01), RepositoryFilter.TrimDateTime(t, RepositoryFilterType.ByDay)); Assert.AreEqual(new DateTime(2008, 02, 01, 15, 00, 00), RepositoryFilter.TrimDateTime(t, RepositoryFilterType.ByHour)); Assert.AreEqual(new DateTime(2008, 02, 01, 15, 33, 00), RepositoryFilter.TrimDateTime(t, RepositoryFilterType.ByMinute)); Assert.AreEqual(new DateTime(2008, 02, 01, 00, 00, 00), RepositoryFilter.TrimDateTime(t, RepositoryFilterType.ByMonth)); Assert.AreEqual(new DateTime(2008, 01, 27, 00, 00, 00), RepositoryFilter.TrimDateTime(t, RepositoryFilterType.ByWeek)); Assert.AreEqual(new DateTime(2008, 01, 01, 00, 00, 00), RepositoryFilter.TrimDateTime(t, RepositoryFilterType.ByYear)); }
public async Task ShouldNotFilterWhenSearchFails() { var collaborationFactory = Substitute.For <ICollaborationFactory>(); collaborationFactory.CollaborationPlatform.Search(null).ThrowsForAnyArgs(new Exception()); IRepositoryFilter subject = new RepositoryFilter(collaborationFactory, Substitute.For <INuKeeperLogger>()); var result = await subject.ContainsDotNetProjects(MakeSampleRepository()); Assert.True(result); }
public async Task ShouldNotFilterWhenMatchFound() { var collaborationFactory = Substitute.For <ICollaborationFactory>(); collaborationFactory.CollaborationPlatform.Search(null).ReturnsForAnyArgs(Task.FromResult(new SearchCodeResult(1))); IRepositoryFilter subject = new RepositoryFilter(collaborationFactory, Substitute.For <INuKeeperLogger>()); var result = await subject.ContainsDotNetProjects(MakeSampleRepository()); Assert.True(result); }
public async Task ShouldNotFilterWhenSearchFails() { var githubClient = Substitute.For <IGitHub>(); githubClient.Search(null).ThrowsForAnyArgs(new Exception()); IRepositoryFilter subject = new RepositoryFilter(githubClient, Substitute.For <INuKeeperLogger>()); var result = await subject.ContainsDotNetProjects(MakeSampleRepository()); Assert.True(result); }
public async Task ShouldNotFilterWhenMatchFound() { var githubClient = Substitute.For <IGitHub>(); githubClient.Search(null).ReturnsForAnyArgs(Task.FromResult(new SearchCodeResult(1, false, null))); IRepositoryFilter subject = new RepositoryFilter(githubClient, Substitute.For <INuKeeperLogger>()); var result = await subject.ContainsDotNetProjects(MakeSampleRepository()); Assert.True(result); }
public Task <PagedList <RepositoryModel> > GetRepositoriesAsync(RepositoryFilter filter, ListOptions listOptions) { throw new NotImplementedException(); }
public QueryTypes Fetch(RepositoryFilter filter) { return(_queryTypeRepository.FetchByFilter(filter)); }
public FileFilter SetFilter(RepositoryFilter filter) { _repositoryFilter = filter; FillData(); return(this); }
public Papers Fetch(RepositoryFilter filter) { return(_paperRepository.FetchByFilter(filter)); }
public PaperCategories Fetch(RepositoryFilter filter) { return(_paperTypeRepository.FetchByFilter(filter)); }
public Queries Fetch(RepositoryFilter filter, string paperId) { return(_queryRepository.FetchByFilter(filter, paperId)); }
public FileFilterParameters(RepositoryFilter filter) { _filter = filter; }