public ApiCollection GetDtoCollection(ApiCollection entityCollection, BaseSearchParams searchParams) { if (searchParams.Fields == null) { var items = _mapper.Map <IEnumerable <ValueReadDto> >(entityCollection.Items); return(new ApiCollection(items) { TotalCount = entityCollection.TotalCount }); } else { var newItems = new List <object>(); foreach (var item in entityCollection.Items) { newItems.Add(_mapper.DynamicMap(item, searchParams.Fields)); } var result = new ApiCollection(newItems); result.TotalCount = entityCollection.TotalCount; return(result); } }