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)); }
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)); }