private string CreateIN_String(ConceptSearchFields searchFields) { string result = ""; result = " ('" + searchFields.Language + "', '" + searchFields.Subject + "')"; //", '" + searchFields.Title + "')"; return(result); }
public void SearchForConcepts_Returns_All_Concepts_When_SearchFields_Is_null() { _noSearchFields = null; A.CallTo(() => _conceptRepository.SearchForConcepts(_noSearchFields)) .Returns(_conceptsInDatabase); var conceptsFromService = _service.SearchForConcepts(_noSearchFields); Assert.Equal(conceptsFromService.Count, _conceptsInDatabase.Count); }
public ConceptServiceTest() { _conceptRepository = A.Fake <IConceptRepository>(); _service = new ConceptService(_conceptRepository); _noSearchFields = new ConceptSearchFields(); _conceptsInDatabase = new List <Concept> { new Concept { Title = "TestTitle" }, new Concept { Title = "Another test" }, }; }
public List <Concept> SearchForConcepts(ConceptSearchFields searchFields) { string sqlQuery = "SELECT c.\"Id\", c.\"Title\", c.\"Content\", " + "c.\"ExternalId\", c.\"Created\", c.\"Updated\"," + " c.\"Author\", c.\"StatusId\" " + "FROM \"Concepts\" c" + " WHERE c.\"Id\" in (SELECT map.\"ConceptId\" FROM" + " \"ConceptMetas\" map WHERE map.\"MetadataId\" in " + "( SELECT m.\"Id\" FROM \"Metadata\" m WHERE m.\"Code\" " + "IN" + CreateIN_String(searchFields) + " )) " + "OR LOWER(c.\"Title\") LIKE LOWER( '%" + searchFields.Title + "%')"; var concepts = _context.Concepts .Include(collection => collection.Metadata) .ThenInclude(collectionItem => collectionItem.Metadata) .FromSql(sqlQuery).ToList(); return(concepts); }
public ActionResult <List <Concept> > SearchForConcepts([FromQuery] ConceptSearchFields query = null) { return(_service.SearchForConcepts(query)); }
public List <Concept> SearchForConcepts(ConceptSearchFields searchFields) { return(_conceptRepository.SearchForConcepts(searchFields)); }