public static int GetMediaCount(MediaType mediaType, RatingCategory ratingCategory, float[] minMax, double ratio) { using (Entities context = new Entities()) { if (ratingCategory.Name != "Intensity") return GetMediaQuery(context, mediaType, ratingCategory, minMax[0], minMax[1], ratio).Count(); else return GetIntensityQuery(context, mediaType, ratingCategory, minMax[0], minMax[1], ratio).Count(); } }
public static IQueryable<Media> GetMediaQuery(Entities context, MediaType mediaType, RatingCategory ratingCategory, double min, double max, double ratio) { var Query = (from m in context.Media let val = (from r in m.MediaRatings where r.RatingCategory.Name == ratingCategory.Name select r.DbGetValue(r.Height, r.Depth, ratio)).FirstOrDefault() where (mediaType == MediaType.None || m.MediaTypeId == (int)mediaType) && val != null && val > min && val <= max orderby m.Artist, m.Title select m); return Query; }
public static IQueryable<Media> GetIntensityQuery(Entities context, MediaType mediaType, RatingCategory ratingCategory, double min, double max, double ratio) { var Query = (from m in context.Media let val = (from r in m.MediaRatings let val = r.DbGetValue(r.Height, r.Depth, ratio) orderby val descending select val).Take(5).Average() where (mediaType == MediaType.None || m.MediaTypeId == (int)mediaType) && val > min && val <= max orderby m.Artist, m.Title select m); return Query; }
public static int GetMediaCount(MediaType mediaType, RatingCategory ratingCategory, float[] minMax, double ratio) { using (Entities context = new Entities()) { if (ratingCategory.Name != "Intensity") { return(GetMediaQuery(context, mediaType, ratingCategory, minMax[0], minMax[1], ratio).Count()); } else { return(GetIntensityQuery(context, mediaType, ratingCategory, minMax[0], minMax[1], ratio).Count()); } } }
/// <summary> /// Returns a list of video count for each graph bar. /// </summary> /// <param name="mediaType">The type of media to return.</param> /// <param name="graphType">The rating type to generate the graph for.</param> /// <param name="ratio">The ratio to use when multiplying Height and Depth.</param> /// <returns>A list of 14 integers.</returns> public List<int> LoadGraph(MediaType mediaType, RatingCategory graphType, double ratio) { List<int> Result = new List<int>(); Result.Add(DistributionGraphAccess.GetMediaCount(mediaType, graphType, bars[0], ratio)); Result.Add(DistributionGraphAccess.GetMediaCount(mediaType, graphType, bars[1], ratio)); Result.Add(DistributionGraphAccess.GetMediaCount(mediaType, graphType, bars[2], ratio)); Result.Add(DistributionGraphAccess.GetMediaCount(mediaType, graphType, bars[3], ratio)); Result.Add(DistributionGraphAccess.GetMediaCount(mediaType, graphType, bars[4], ratio)); Result.Add(DistributionGraphAccess.GetMediaCount(mediaType, graphType, bars[5], ratio)); Result.Add(DistributionGraphAccess.GetMediaCount(mediaType, graphType, bars[6], ratio)); Result.Add(DistributionGraphAccess.GetMediaCount(mediaType, graphType, bars[7], ratio)); Result.Add(DistributionGraphAccess.GetMediaCount(mediaType, graphType, bars[8], ratio)); Result.Add(DistributionGraphAccess.GetMediaCount(mediaType, graphType, bars[9], ratio)); Result.Add(DistributionGraphAccess.GetMediaCount(mediaType, graphType, bars[10], ratio)); Result.Add(DistributionGraphAccess.GetMediaCount(mediaType, graphType, bars[11], ratio)); Result.Add(DistributionGraphAccess.GetMediaCount(mediaType, graphType, bars[12], ratio)); Result.Add(DistributionGraphAccess.GetMediaCount(mediaType, graphType, bars[13], ratio)); return Result; }
public static IQueryable <Media> GetMediaQuery(Entities context, MediaType mediaType, RatingCategory ratingCategory, double min, double max, double ratio) { var Query = (from m in context.Media let val = (from r in m.MediaRatings where r.RatingCategory.Name == ratingCategory.Name select r.DbGetValue(r.Height, r.Depth, ratio)).FirstOrDefault() where (mediaType == MediaType.None || m.MediaTypeId == (int)mediaType) && val != null && val > min && val <= max orderby m.Artist, m.Title select m); return(Query); }
public static IQueryable <Media> GetIntensityQuery(Entities context, MediaType mediaType, RatingCategory ratingCategory, double min, double max, double ratio) { var Query = (from m in context.Media let val = (from r in m.MediaRatings let val = r.DbGetValue(r.Height, r.Depth, ratio) orderby val descending select val).Take(5).Average() where (mediaType == MediaType.None || m.MediaTypeId == (int)mediaType) && val > min && val <= max orderby m.Artist, m.Title select m); return(Query); }
/// <summary> /// Returns a list of video count for each graph bar. /// </summary> /// <param name="mediaType">The type of media to return.</param> /// <param name="graphType">The rating type to generate the graph for.</param> /// <param name="ratio">The ratio to use when multiplying Height and Depth.</param> /// <returns>A list of 14 integers.</returns> public async Task<List<int>> LoadGraphAsync(MediaType mediaType, RatingCategory graphType, double ratio) { return await Task.Run(() => LoadGraph(mediaType, graphType, ratio)); }