Example #1
0
        public void WhenOneTvShowGet_GetTvShow_Valid_Success()
        {
            TvShowModel tvShowModel = _applicationService.GetById(1);

            tvShowModel.Should().NotBeNull();

            tvShowModel.Name.Should().Be(_tvShowModel.Name);
        }
Example #2
0
        private async Task IndexShowAsync(ShowSearchResult show)
        {
            if (!await _tvShowService.TvShowExistsAsync(show.Show.Name))
            {
                var tvShowModel = new TvShowModel()
                {
                    TvShowId = show.Show.Id,
                    Name     = show.Show.Name,
                    Summary  = show.Show.Summary
                };

                await _tvShowService.AddTvShowAsync(tvShowModel);
            }

            var episodes = await _tvMazeClient.GetEpisodesAsync(show.Show.Id);

            var episodeTasks = episodes.Select(episode => IndexEpisodeAsync(show.Show.Id, episode)).ToList();

            await Task.WhenAll(episodeTasks);
        }
Example #3
0
        public TvShowTest()
        {
            _castList  = new List <CastModel>();
            _castModel = new CastModel {
                Id = 7, Name = "Mackenzie Lintz", Birthday = "1996-11-22"
            };
            _castList.Add(_castModel);
            _castModel = new CastModel {
                Id = 5, Name = "Colin Ford", Birthday = "1996-09-12"
            };
            _castList.Add(_castModel);

            _tvShowModel = new TvShowModel
            {
                Id   = 1,
                Name = "Under the Dome",
                Cast = _castList
            };
            _mockCollection = new Mock <IMongoCollection <TvShowModel> >();
            _mockCollection.Object.InsertOne(_tvShowModel);
        }
Example #4
0
        public TvShowModel GetById(int id)
        {
            TvShowModel tvShowModel = _tvShows.Find(tv => tv.Id == id).FirstOrDefault();

            return(tvShowModel);
        }
Example #5
0
        public async Task <IActionResult> Post()
        {
            string resultMessage = string.Empty;

            try
            {
                HttpResponseMessage result;
                List <TvShowModel>  tvShowModelList = new List <TvShowModel>();
                List <CastModel>    castModelList   = new List <CastModel>();

                using (var client = new HttpClient())
                {
                    result = await client.GetAsync("http://api.tvmaze.com/shows");

                    if (result.IsSuccessStatusCode)
                    {
                        var tvShowResult = await result.Content.ReadAsStringAsync();

                        List <TvShowResponse> tvShowResponseList = JsonConvert.DeserializeObject <List <TvShowResponse> >(tvShowResult);

                        foreach (var tvShowResponse in tvShowResponseList)
                        {
                            string castUrl = string.Format("http://api.tvmaze.com/shows/{0}/cast", tvShowResponse.id);
                            result = await client.GetAsync(castUrl);

                            TvShowModel tvShowModel = new TvShowModel();
                            tvShowModel.Id   = tvShowResponse.id;
                            tvShowModel.Name = tvShowResponse.name;

                            if (result.IsSuccessStatusCode)
                            {
                                var castResult = await result.Content.ReadAsStringAsync();

                                List <CastResponse> castResponseList = JsonConvert.DeserializeObject <List <CastResponse> >(castResult);

                                castModelList = new List <CastModel>();

                                foreach (var castResponse in castResponseList)
                                {
                                    CastModel castModel = new CastModel();
                                    castModel.Id       = castResponse.Person.id;
                                    castModel.Name     = castResponse.Person.name;
                                    castModel.Birthday = castResponse.Person.birthday;
                                    castModelList.Add(castModel);
                                }

                                tvShowModel.Cast = castModelList.OrderByDescending(x => x.Birthday).ToList();
                            }

                            tvShowModelList.Add(tvShowModel);
                        }
                    }
                }

                _applicationService.InsertTvShowCollection(tvShowModelList);
                resultMessage = "Success";
            }
            catch (Exception ex)
            {
                resultMessage = ex.Message;
            }

            return(Ok(resultMessage));
        }