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));
 }
Пример #6
0
 public List <Concept> SearchForConcepts(ConceptSearchFields searchFields)
 {
     return(_conceptRepository.SearchForConcepts(searchFields));
 }