public void EditRatingFilter(RatingFilter filter) { filterType_combobox.SelectedIndex = 4; old = new RatingFilter(filter); SetRatingFilterParams(); if (filter.AndAbove && filter.Inclusive) { filterParams_combobox.SelectedIndex = 0; } else if (!filter.AndAbove && filter.Inclusive) { filterParams_combobox.SelectedIndex = 1; } else if (filter.AndAbove && !filter.Inclusive) { filterParams_combobox.SelectedIndex = 2; } else if (!filter.AndAbove && !filter.Inclusive) { filterParams_combobox.SelectedIndex = 3; } ratingBox1.Value = filter.EdgeRating; }
protected override void ReadHeader(StreamReader sr) { base.ReadHeader(sr); string filterType; while ((filterType = sr.ReadLine()) != null) { Filter filter = null; switch (filterType) { case "StringFilter": filter = new StringFilter(sr); break; case "RatingFilter": filter = new RatingFilter(sr); break; case "DateFilter": filter = new DateFilter(sr); break; default: throw new FileLoadException(); } Filters.Add(filter); } }
public override IDictionary <string, object> GetUriPathParameters() { var uriParams = new Dictionary <string, object>(); var isTypeSetAndValid = Type != null && Type != TraktRatingsItemType.Unspecified; if (isTypeSetAndValid) { uriParams.Add("type", Type.UriName); } if (RatingFilter != null && isTypeSetAndValid) { var ratingsMin = RatingFilter.Min(); var ratingsMax = RatingFilter.Max(); var isRatingsSetAndValid = RatingFilter.Length > 0 && RatingFilter.Length <= 10 && ratingsMin >= 1 && ratingsMax <= 10; if (isRatingsSetAndValid) { uriParams.Add("rating", string.Join(",", RatingFilter)); } } if (ExtendedInfo != null && ExtendedInfo.HasAnySet) { uriParams.Add("extended", ExtendedInfo.ToString()); } return(uriParams); }
public IActionResult RatingList(int id) { Services.Ratings.DTOs.RatingFilter filter = new RatingFilter() { CourseId = id, Status = "None" }; var result = _ratingService.GetListDTOPaged(1, 50, null, filter).ToViewModel().Entities; return(View(result)); }
public override IDictionary <string, object> GetUriPathParameters() { var uriParams = base.GetUriPathParameters(); uriParams.Add("username", Username); var isTypeSetAndValid = Type != null && Type != TraktRatingsItemType.Unspecified; if (isTypeSetAndValid) { uriParams.Add("type", Type.UriName); } if (RatingFilter != null && isTypeSetAndValid) { var ratingMin = RatingFilter.Min(); var ratingMax = RatingFilter.Max(); var isRatingsSetAndValid = RatingFilter.Length > 0 && RatingFilter.Length <= 10 && ratingMin >= 1 && ratingMax <= 10; if (isRatingsSetAndValid) { uriParams.Add("rating", string.Join(",", RatingFilter)); } } if (Page.HasValue) { uriParams.Add("page", Page.Value.ToString()); } if (Limit.HasValue) { uriParams.Add("limit", Limit.Value.ToString()); } return(uriParams); }
public void FilterPlaylistApplyRatingFilter() { var lib = CreateLibrary(); var fpl = new FilterPlaylist(lib, "fpl 1"); var filter = new RatingFilter(3, true, false); fpl.Filters.Add(filter); fpl.FilterLibrary(); Assert.AreEqual(1, fpl.NumSongs); filter.SetParams(3, true, true); fpl.FilterLibrary(); Assert.AreEqual(2, fpl.NumSongs); filter.SetParams(3, false, true); fpl.FilterLibrary(); Assert.AreEqual(2, fpl.NumSongs); filter.SetParams(3, false, false); fpl.FilterLibrary(); Assert.AreEqual(1, fpl.NumSongs); }
public ActionResult SearchResults(String SearchString, int[] SelectedGenres, String AvRating, RatingFilter SelectedRatingFilter, SortBy SelectedSortBy, SortOrder SelectedSortOrder) { var query = from a in db.Artists select a; //code for textbox if (SearchString == null || SearchString == "") { query = query.Where(a => a.ArtistName != null); } else { query = query.Where(a => a.ArtistName.Contains(SearchString)); } //code for genre filter List <Artist> DisplayArtists = new List <Artist>(); if (SelectedGenres != null) { foreach (int i in SelectedGenres) { List <Artist> ArtistsFound = query.Where(a => a.ArtistGenres.Any(g => g.GenreID == i)).ToList(); foreach (Artist a in ArtistsFound) { DisplayArtists.Add(a); } } } else { List <Artist> ArtistsFound = query.Where(a => a.ArtistGenres.Any()).ToList(); foreach (Artist a in ArtistsFound) { DisplayArtists.Add(a); } } var TotalArtists = db.Artists.ToList(); ViewBag.SelectedArtistCount = "Displaying " + DisplayArtists.Count() + " of " + TotalArtists.Count() + " Records"; DisplayArtists = DisplayArtists.OrderBy(a => a.ArtistName).ToList(); if (SelectedSortBy == SortBy.Artist && SelectedSortOrder == SortOrder.Ascending) { DisplayArtists = DisplayArtists.OrderBy(a => a.ArtistName).ToList(); } if (SelectedSortBy == SortBy.Artist && SelectedSortOrder == SortOrder.Descending) { DisplayArtists = DisplayArtists.OrderByDescending(a => a.ArtistName).ToList(); } List <AvgArtistRating> ratingList = new List <AvgArtistRating>(); foreach (Artist a in DisplayArtists) { AvgArtistRating dude = new AvgArtistRating(); dude.Artist = a; dude.AvgRating = ComputeAverage(a.ArtistID); ratingList.Add(dude); } if (SelectedSortBy == SortBy.Rating) { if (SelectedSortOrder == SortOrder.Ascending) { ratingList = ratingList.OrderBy(a => a.AvgRating).ToList(); } else { ratingList = ratingList.OrderByDescending(a => a.AvgRating).ToList(); } } //TODO: code for Rating Filter for Artist if (AvRating != null && AvRating != "") { Decimal decAvgRating; try { decAvgRating = Convert.ToDecimal(AvRating); } catch { ViewBag.Message = AvRating + " is not a valid rating; please enter a decimal from 1.0 to 5.0"; ViewBag.AllGenres = GetAllGenres(); return(View("DetailedSearch")); } try { if (decAvgRating < 1.0m || decAvgRating > 5.0m) { throw new ArgumentException(); } } catch (ArgumentException) { ViewBag.Message = AvRating + " is not a valid rating; please enter a decimal from 1.0 to 5.0"; ViewBag.AllGenres = GetAllGenres(); return(View("DetailedSearch")); } if (SelectedRatingFilter == RatingFilter.Greater) { foreach (AvgArtistRating item in ratingList.ToList()) { if (item.AvgRating < decAvgRating) { ratingList.Remove(item); } } } else { foreach (AvgArtistRating item in ratingList.ToList()) { if (item.AvgRating > decAvgRating) { ratingList.Remove(item); } } } } //TODO: figure this out. return(View("Index", ratingList)); }
public ActionResult SearchResults(String SongSearchString, String AlbumSearchString, String ArtistSearchString, int[] SelectedGenres, String AvRating, RatingFilter SelectedRatingFilter, SortBy SelectedSortBy, SortOrder SelectedSortOrder) { var query = from s in db.Songs select s; //code for song textbox if (SongSearchString == null || SongSearchString == "") { query = query.Where(s => s.SongTitle != null); } else { query = query.Where(s => s.SongTitle.Contains(SongSearchString)); } //code for Album textbox if (AlbumSearchString == null || AlbumSearchString == "") { query = from s in query from al in s.SongAlbums where al.AlbumTitle != null select s; } else { query = from s in query from al in s.SongAlbums where al.AlbumTitle.Contains(AlbumSearchString) select s; } //code for artist textbox if (ArtistSearchString == null || ArtistSearchString == "") { query = from s in query from ar in s.SongArtists where ar.ArtistName != null select s; } else { query = from s in query from ar in s.SongArtists where ar.ArtistName.Contains(ArtistSearchString) select s; } List <Song> DisplaySongs = new List <Song>(); //code for genre filter if (SelectedGenres != null) { foreach (int i in SelectedGenres) { List <Song> SongsFound = query.Where(a => a.SongGenres.Any(g => g.GenreID == i)).ToList(); foreach (Song a in SongsFound) { DisplaySongs.Add(a); } } } else { List <Song> SongsFound = query.Where(a => a.SongGenres.Any()).ToList(); foreach (Song a in SongsFound) { DisplaySongs.Add(a); } } var TotalSongs = db.Songs.ToList(); DisplaySongs = DisplaySongs.OrderBy(a => a.SongTitle).ToList(); if (SelectedSortBy == SortBy.Song && SelectedSortOrder == SortOrder.Ascending) { DisplaySongs = DisplaySongs.OrderBy(a => a.SongTitle).ToList(); } if (SelectedSortBy == SortBy.Song && SelectedSortOrder == SortOrder.Descending) { DisplaySongs = DisplaySongs.OrderByDescending(a => a.SongTitle).ToList(); } if (SelectedSortBy == SortBy.Album && SelectedSortOrder == SortOrder.Ascending) { DisplaySongs = (from a in DisplaySongs from al in a.SongAlbums.Distinct() orderby al.AlbumTitle select a).ToList(); DisplaySongs = DisplaySongs.Distinct().ToList(); } if (SelectedSortBy == SortBy.Album && SelectedSortOrder == SortOrder.Descending) { DisplaySongs = (from a in DisplaySongs from al in a.SongAlbums.Distinct() orderby al.AlbumTitle descending select a).ToList(); DisplaySongs = DisplaySongs.Distinct().ToList(); } if (SelectedSortBy == SortBy.Artist && SelectedSortOrder == SortOrder.Ascending) { DisplaySongs = (from a in DisplaySongs from ar in a.SongArtists.Distinct() orderby ar.ArtistName select a).ToList(); DisplaySongs = DisplaySongs.Distinct().ToList(); } if (SelectedSortBy == SortBy.Artist && SelectedSortOrder == SortOrder.Descending) { DisplaySongs = (from a in DisplaySongs from ar in a.SongArtists.Distinct() orderby ar.ArtistName descending select a).ToList(); DisplaySongs = DisplaySongs.Distinct().ToList(); } List <AvgSongRating> ratingList = new List <AvgSongRating>(); foreach (Song a in DisplaySongs) { AvgSongRating dude = new AvgSongRating(); dude.Song = a; dude.AvgRating = ComputeAverage(a.SongID); ratingList.Add(dude); } if (SelectedSortBy == SortBy.Rating) { if (SelectedSortOrder == SortOrder.Ascending) { ratingList = ratingList.OrderBy(a => a.AvgRating).ToList(); } else { ratingList = ratingList.OrderByDescending(a => a.AvgRating).ToList(); } } //TODO: code for Rating Filter for Song if (AvRating != null && AvRating != "") { Decimal decAvgRating; try { decAvgRating = Convert.ToDecimal(AvRating); } catch { ViewBag.Message = AvRating + " is not a valid rating; please enter a decimal from 1.0 to 5.0"; ViewBag.AllGenres = GetAllGenres(); return(View("DetailedSearch")); } try { if (decAvgRating < 1.0m || decAvgRating > 5.0m) { throw new ArgumentException(); } } catch (ArgumentException) { ViewBag.Message = AvRating + " is not a valid rating; please enter a decimal from 1.0 to 5.0"; ViewBag.AllGenres = GetAllGenres(); return(View("DetailedSearch")); } if (SelectedRatingFilter == RatingFilter.Greater) { foreach (AvgSongRating item in ratingList.ToList()) { if (item.AvgRating < decAvgRating) { ratingList.Remove(item); } } } else { foreach (AvgSongRating item in ratingList.ToList()) { if (item.AvgRating > decAvgRating) { ratingList.Remove(item); } } } } ViewBag.SelectedSongCount = "Displaying " + DisplaySongs.Count() + " of " + TotalSongs.Count() + " Records"; return(View("Index", ratingList)); }
private async Task LoadData() { CallAsync_Results res; if (IsFilteringByRating == true) { res = await Services.APIComm.CallGetAsync(@"Restaurants/ByUserId/" + GlobalVariables.LoggedUser.ID + $"/FilterByRating/{RatingFilter.GetValueOrDefault()}"); } else { res = await Services.APIComm.CallGetAsync(@"Restaurants/ByUserId/" + GlobalVariables.LoggedUser.ID); } if (res.Success == true) { ListRestaurants = new ObservableCollection <Restaurant>(Newtonsoft.Json.JsonConvert.DeserializeObject <List <Restaurant> >(res.ContentString_responJsonText)); this.OnPropertyChanged(nameof(ListRestaurants)); } }
public IActionResult DisplaySearchResults(String TitleString, String AuthorString, int UniqueNumber, int SelectedGenre, TitleFilter SelectedTitleFilter, AuthorFilter SelectedAuthorFilter, PopularityFilter SelectedPopularityFilter, DateFilter SelectedDateFilter, RatingFilter SelectedRatingFilter, StockFilter SelectedStockFilter) { List <Book> SelectedBooks = new List <Book>(); var query = from r in _context.Books.Include(b => b.Genre) select r; if (TitleString != null && TitleString != "") { query = query.Where(r => r.Title.Contains(TitleString)); } if (AuthorString != null && AuthorString != "") { query = query.Where(r => r.Author.Contains(AuthorString)); } if (UniqueNumber != 0) { query = query.Where(r => r.UniqueID == UniqueNumber); } if (SelectedGenre != 0) { Genre GenreToDisplay = _context.Genres.Find(SelectedGenre); query = query.Where(r => r.Genre == GenreToDisplay); } if (SelectedStockFilter == StockFilter.True) { query = query.Where(b => b.CopiesOnHand > 0); } //if no sort SelectedBooks = query.Include(b => b.Reviews).ToList(); if (SelectedTitleFilter == TitleFilter.Ascending) { SelectedBooks = query.OrderBy(r => r.Title).ToList(); } else if (SelectedTitleFilter == TitleFilter.Descending) { SelectedBooks = query.OrderByDescending(r => r.Title).ToList(); } if (SelectedAuthorFilter == AuthorFilter.Ascending) { SelectedBooks = query.OrderBy(r => r.Author).ToList(); } else if (SelectedAuthorFilter == AuthorFilter.Descending) { SelectedBooks = query.OrderByDescending(r => r.Author).ToList(); } //POPULARTY FILTER CODE if (SelectedPopularityFilter == PopularityFilter.Ascending) { query = query.OrderByDescending(r => r.CopiesSold); } //don't need filter if not chosen - no else if (SelectedDateFilter == DateFilter.Oldest) { SelectedBooks = query.OrderBy(r => r.PublishedDate).ToList(); } else if (SelectedDateFilter == DateFilter.Newest) { SelectedBooks = query.OrderByDescending(r => r.PublishedDate).ToList(); } if (SelectedRatingFilter == RatingFilter.Descending) { //Int32 AvgRating = 0; //Int32 //List<Book> books = _context.Books.Include(b => b.Reviews).Where(b => b.Reviews != null).ToList(); //foreach(Book b in books) //{ // AvgRating += //} //foreach(Book book in query) SelectedBooks = query.OrderByDescending(r => r.AvgRating).ToList(); } //execute the query and store it into the SelectedRepositories list //SelectedBooks = query.Include(r => r.Reviews).ToList(); ViewBag.SelectedBooks = SelectedBooks.Count(); ViewBag.TotalBooks = _context.Books.Count(); //pass the filtered results to display in view return(View("Index", SelectedBooks)); }