public TvSeriesModel Get(int season) { try { Logger.Trace("Begin => Get"); Logger.DebugFormat("Parameters [season={0}]", season); TvSeries result = _tvSeriesRepository.Get(season); if (result == null) { Logger.DebugFormat("Season season={0} not found", season); throw new HttpResponseException(HttpStatusCode.NotFound); } return TvSeriesModel.CopyFrom(result); } catch (Exception err) { Logger.Error("Error in Get", err); throw; } finally { Logger.Trace("End => Get"); } }
public IEnumerable <TvSeriesModel> List() { try { Logger.Trace("Begin => List"); IEnumerable <TvSeries> results = _tvSeriesRepository.List(); if (results == null) { Logger.Debug("No Television Seasons found"); throw new HttpResponseException(HttpStatusCode.NoContent); } return(results.Select(t => TvSeriesModel.CopyFrom(t))); } catch (Exception err) { Logger.Error("Error in List", err); throw; } finally { Logger.Trace("End => List"); } }
public IEnumerable <SeasonModel> GetItemsAsync(TvSeriesModel series, CancellationToken ct) { // curate seasons var list = new ModelList <SeasonModel>(); GenerateItem <SeasonModel>(list, 43); GenerateItem <SeasonModel>(list, 44); GenerateItem <SeasonModel>(list, 45); return(list); }
public static T GenerateItem <T>(int number) where T : class { var numberString = number.ToString(); var imageNumber = number.ToString("00"); if (typeof(T) == typeof(MovieModel)) { var item = new MovieModel() { ID = "movie" + imageNumber, ContentRating = "G", ItemType = ItemTypes.Movie, Title = "Movie " + numberString, UserRating = 3.0 + _random.NextDouble() * 2.0, Genre = ((Genres)_random.Next(6)).ToString(), ImageFeatured = SAMPLE_IMAGE_PATH_ROOT + string.Format("Featured_Image{0}.jpg", imageNumber), ImageCustom = SAMPLE_IMAGE_PATH_ROOT + string.Format("Custom_Movie_Image{0}.jpg", imageNumber), ImageThumbLandscapeSmall = SAMPLE_IMAGE_PATH_ROOT + string.Format("Thumb_Landscape_Small_Image{0}.jpg", imageNumber), ImageThumbLandscapeLarge = SAMPLE_IMAGE_PATH_ROOT + string.Format("Thumb_Landscape_Large_Image{0}.jpg", imageNumber), MediaUrl = SAMPLE_MEDIA_FILE, Description = SAMPLE_DESCRIPTION, Length = _random.Next(50, 200), ReleaseDate = GenerateRandomDate(), Cast = new ModelList <PersonModel>(GenerateCast("movie" + imageNumber)), Creators = new ModelList <PersonModel>(GenerateCrew("movie" + imageNumber)), CriticReviews = new ModelList <ReviewModel>(GetReviews("movie" + imageNumber)), ContentRatings = new ModelList <RatingModel>(GetRatings("movie" + imageNumber)), //Flag = "Just Added", }; //if (number == 1) item.Flag = "Featured"; return(item as T); } else if (typeof(T) == typeof(TrailerModel)) { var item = new TrailerModel() { ID = "movie" + imageNumber, ContentRating = "G", ItemType = ItemTypes.Movie, Title = "Movie " + numberString, UserRating = 3.0 + _random.NextDouble() * 2.0, Genre = ((Genres)_random.Next(6)).ToString(), ImageFeatured = SAMPLE_IMAGE_PATH_ROOT + string.Format("Featured_Image{0}.jpg", imageNumber), ImageCustom = SAMPLE_IMAGE_PATH_ROOT + string.Format("Custom_Movie_Image{0}.jpg", imageNumber), ImageThumbLandscapeSmall = SAMPLE_IMAGE_PATH_ROOT + string.Format("Thumb_Landscape_Small_Image{0}.jpg", imageNumber), ImageThumbLandscapeLarge = SAMPLE_IMAGE_PATH_ROOT + string.Format("Thumb_Landscape_Large_Image{0}.jpg", imageNumber), MediaUrl = SAMPLE_MEDIA_FILE, Description = SAMPLE_DESCRIPTION, Length = _random.Next(1, 5), ReleaseDate = new DateTime(2015, 1, 15), Cast = new ModelList <PersonModel>(GenerateCast("movie" + imageNumber)), Creators = new ModelList <PersonModel>(GenerateCrew("movie" + imageNumber)), CriticReviews = new ModelList <ReviewModel>(GetReviews("movie" + imageNumber)), ContentRatings = new ModelList <RatingModel>(GetRatings("movie" + imageNumber)), }; return(item as T); } else if (typeof(T) == typeof(TvSeriesModel)) { var item = new TvSeriesModel() { ID = "series" + imageNumber, ItemType = ItemTypes.TvSeries, Title = "TV Series " + number.ToString(), UserRating = 3.0 + _random.NextDouble() * 2.0, Genre = ((Genres)_random.Next(6)).ToString(), ImageFeatured = SAMPLE_IMAGE_PATH_ROOT + string.Format("Featured_Image{0}.jpg", imageNumber), ImageCustom = SAMPLE_IMAGE_PATH_ROOT + string.Format("Custom_TV_Image{0}.jpg", imageNumber), ImageThumbLandscapeSmall = SAMPLE_IMAGE_PATH_ROOT + string.Format("Thumb_Landscape_Small_Image{0}.jpg", imageNumber), ImageThumbLandscapeLarge = SAMPLE_IMAGE_PATH_ROOT + string.Format("Thumb_Landscape_Large_Image{0}.jpg", imageNumber), MediaUrl = SAMPLE_MEDIA_FILE, Description = SAMPLE_DESCRIPTION, ContentRating = "TV-13", Length = _random.Next(22, 60), Cast = new ModelList <PersonModel>(GenerateCast("series" + imageNumber)), Creators = new ModelList <PersonModel>(GenerateCrew("series" + imageNumber)), CriticReviews = new ModelList <ReviewModel>(GetReviews("series" + imageNumber)), ContentRatings = new ModelList <RatingModel>(GetRatings("series" + imageNumber)), }; item.Seasons = new ModelList <SeasonModel>(); item.Seasons.Add(GenerateItem <SeasonModel>(1)); item.Seasons.Add(GenerateItem <SeasonModel>(2)); item.Seasons.Add(GenerateItem <SeasonModel>(3)); return(item as T); } else if (typeof(T) == typeof(TvEpisodeModel)) { var item = new TvEpisodeModel() { ID = "episode" + imageNumber, ContentRating = "TV-G", ItemType = ItemTypes.TvEpisode, Title = "Episode " + number.ToString(), UserRating = 3.0 + _random.NextDouble() * 2.0, Genre = "Drama", ImageFeatured = SAMPLE_IMAGE_PATH_ROOT + string.Format("Featured_Image{0}.jpg", imageNumber), ImageCustom = SAMPLE_IMAGE_PATH_ROOT + string.Format("Custom_TV_Image{0}.jpg", imageNumber), ImageThumbLandscapeSmall = SAMPLE_IMAGE_PATH_ROOT + string.Format("Thumb_Landscape_Small_Image{0}.jpg", imageNumber), ImageThumbLandscapeLarge = SAMPLE_IMAGE_PATH_ROOT + string.Format("Thumb_Landscape_Large_Image{0}.jpg", imageNumber), MediaUrl = SAMPLE_MEDIA_FILE, Description = SAMPLE_DESCRIPTION, Length = _random.Next(22, 60), SeasonNumber = (number % 3) + 1, EpisodeNumber = number, ReleaseDate = GenerateRandomDate(), Cast = new ModelList <PersonModel>(GenerateCast("series" + imageNumber)), Creators = new ModelList <PersonModel>(GenerateCrew("series" + imageNumber)), CriticReviews = new ModelList <ReviewModel>(GetReviews("series" + imageNumber)), ContentRatings = new ModelList <RatingModel>(GetRatings("series" + imageNumber)), }; return(item as T); } else if (typeof(T) == typeof(SeasonModel)) { var item = new SeasonModel() { ID = "season" + imageNumber, ContentRating = "TV-G", ItemType = ItemTypes.TvSeries, SeasonNumber = number, UserRating = 3.0 + _random.NextDouble() * 2.0, Genre = ((Genres)_random.Next(6)).ToString(), Description = SAMPLE_DESCRIPTION }; switch (item.SeasonNumber) { case 1: GenerateItem <TvEpisodeModel>(item.Episodes, 41); GenerateItem <TvEpisodeModel>(item.Episodes, 42); GenerateItem <TvEpisodeModel>(item.Episodes, 43); break; case 2: GenerateItem <TvEpisodeModel>(item.Episodes, 44); GenerateItem <TvEpisodeModel>(item.Episodes, 45); GenerateItem <TvEpisodeModel>(item.Episodes, 46); break; default: GenerateItem <TvEpisodeModel>(item.Episodes, 47); GenerateItem <TvEpisodeModel>(item.Episodes, 48); GenerateItem <TvEpisodeModel>(item.Episodes, 49); break; } return(item as T); } throw new NotImplementedException(); }