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