// GET: Musics public ActionResult Index(string searchMusicName, string searchArtistName, bool?success, int page = 1, MusicFieldsSort sortField = MusicFieldsSort.UpdateDate, bool sortDesc = true) { var res = service.GetBySearch(searchMusicName, searchArtistName, new PagingRequest(page, 25), sortField, sortDesc); if (!res.Success) { return(Json(res.Message, JsonRequestBehavior.AllowGet)); } MusicViewModel viewModel = new MusicViewModel(); viewModel.Success = success; viewModel.Musics = res.Entities.Select(msc => new MusicViewModelEntry(msc)); ViewBag.SearchArtistName = searchArtistName; ViewBag.SearchMusicName = searchMusicName; ViewBag.Page = page; ViewBag.TotalPages = res.TotalPages; ViewBag.SortField = sortField; ViewBag.SortDesc = sortDesc; return(View(viewModel)); }
public ActionResult Search(string searchText, string strTagIds, int page = 1, SearchSortType sortType = SearchSortType.Relevant) { MusicSearchResult musicRes = new MusicSearchResult(); if (!string.IsNullOrWhiteSpace(searchText) || !string.IsNullOrWhiteSpace(strTagIds)) { var tagIds = strTagIds .Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries) .Select(id => Guid.Parse(id)); PagingResponse <Music> res = _mscService.GetBySearch(searchText, tagIds, new PagingRequest(page, RESULTS_IN_PAGE), sortType); if (res.Success) { var user = User.GetUser(); ICollection <Music> favouriteMusic = new List <Music>(); if (user?.FavouriteMusics != null) { favouriteMusic = user.FavouriteMusics; } musicRes.TotalPages = res.TotalPages; musicRes.TotalResults = res.TotalResults; musicRes.Musics = res.Entities.Select(msc => new MusicSearchModel(msc, favouriteMusic.Any(fav => fav.ID == msc.ID))); } else { return(new HttpStatusCodeResult(500, res.Message)); } } return(Json(musicRes)); }