public async Task <IActionResult> FilterSearchAsync([FromBody] MetadataTypeSearchParametersResource searchParams)
        {
            var metadataTypes = await _metadataTypeService.FilterSearchAsync(searchParams);

            var retMetadataTypes = _mapper.Map <IEnumerable <MetadataType>, IEnumerable <MetadataTypeResource> >(metadataTypes);

            return(Ok(retMetadataTypes));
        }
Beispiel #2
0
 public async Task <IEnumerable <MetadataType> > FilterSearchAsync(MetadataTypeSearchParametersResource searchParams)
 {
     return(await _context.MetadataTypes
            .Where(m => m.Name.Contains(searchParams.Name, StringComparison.OrdinalIgnoreCase))
            .Where(m => searchParams.Tags == null ||
                   searchParams.Tags.Count() == 0 ||
                   m.Tags.Select(t => t.TagName).Any(tname => searchParams.Tags.Select(t => t.Name).Contains(tname)))
            .Where(m => m.Descriptions
                   .OrderByDescending(d => d.Published)
                   .OrderByDescending(d => d.Votes.Count())
                   .First().Content.Contains(searchParams.Keywords, StringComparison.OrdinalIgnoreCase)
                   )
            .ToListAsync());
 }
 public async Task <IEnumerable <MetadataType> > FilterSearchAsync(MetadataTypeSearchParametersResource searchParams)
 {
     return(await _metadataTypeRepository.FilterSearchAsync(searchParams));
 }