public IActionResult GetBands([FromQuery] BandResourceParameter bandParamter)
        {
            var bandsFromRepo = _repo.GetBands(bandParamter);

            //به جای استفاده از این همه کد و تکرار کد در متدهای دیگر از روش auto mapper استفاده می کنیم
            //var bandDto = new List<BandDto>();
            //foreach (var item in bandsFromRepo)
            //{
            //    bandDto.Add(new BandDto()
            //    {
            //        BandId=item.BandId,
            //        Name=item.Name,
            //        MainGenre=item.MainGenre,
            //        FoundedYearAgo=$"{item.Founded.ToString("yyyy")} ({item.Founded.GetYearAgo()} years ago)"
            //    });
            //}
            return(Ok(_mapper.Map <IEnumerable <BandDto> >(bandsFromRepo)));//create map to banddto
        }
Exemple #2
0
        public IEnumerable <Band> GetBands(BandResourceParameter bandParam)
        {
            if (string.IsNullOrWhiteSpace(bandParam.MainGenre) && string.IsNullOrWhiteSpace(bandParam.SearchQuery))
            {
                return(GetBands());
            }

            var collection = _context.Bands as IQueryable <Band>;

            if (!string.IsNullOrWhiteSpace(bandParam.MainGenre))
            {
                var mainGenre = bandParam.MainGenre.Trim();
                collection = collection.Where(w => w.MainGenre == mainGenre);
            }
            if (!string.IsNullOrWhiteSpace(bandParam.SearchQuery))
            {
                var searchQuery = bandParam.SearchQuery.Trim();
                collection = collection.Where(w => w.Name.Contains(searchQuery));
            }

            return(collection.ToList());
        }
        public ActionResult <IEnumerable <BandDto> > GetBands([FromQuery] BandResourceParameter bandResourceParameter)
        {
            var v = _bandAlbumRepository.GetBands(bandResourceParameter);

            return(Ok(_mapper.Map <List <BandDto> >(v)));
        }