public IList<Search> GetItems(SearchDependencies? dependencies = null) { using (_connection = Utilities.Database.GetProfiledOpenConnection()) { var result = _connection.GetList<Search>().ToList(); if (result.Any() && dependencies != null) { if ((dependencies & SearchDependencies.Logs) == SearchDependencies.Logs) { List<SearchHistoryLog> Logs = null; var searchIds = (from s in result let searchId = s.SearchId select searchId).ToList(); if (searchIds.Any()) { Logs = _searchHistoryLogRepository.GetItems(searchIds).ToList(); } if (Logs != null && Logs.Any()) { foreach (var search in result) { search.Logs = Logs.FindAll(s => s.SearchId == search.SearchId).ToList(); search.LastLog = search.Logs.OrderByDescending(l => l.SearchDate).FirstOrDefault(); } } } } return result.ToList(); } }
public Search GetItem(long id, SearchDependencies? dependencies = null) { using (_connection = Utilities.Database.GetProfiledOpenConnection()) { var entity = _connection.Get<Search>(id); if (entity != null) { if (dependencies != null) { entity.Logs = _searchHistoryLogRepository.GetItems(entity.SearchId); if (entity.Logs.Any()) { entity.LastLog = entity.Logs.OrderByDescending(l => l.SearchDate).First(); } } } return entity; } }
public IList<Search> GetItems(SearchDependencies? dependencies = null) { return _searchRepository.GetItems(dependencies); }
public Search GetItem(long id, SearchDependencies? dependencies = null) { return _searchRepository.GetItem(id, dependencies); }