public void Should_return_all_genres_translated_to_a_genres_response( IWebApiMovieRestContext context, GetGenresRequestHandler getGenresRequestHandler, GetGenresRequest getGenreRequest, GenresResponse genresResponse ) { "Given a WebApiMovieRestContext" .Given(() => context = new WebApiMovieRestContext().AutoRollback()); "And a GetGenresRequestHandler constructed with the context" .And(() => getGenresRequestHandler = new GetGenresRequestHandler(context)); "And a GetGenresRequest". And(() => getGenreRequest = new GetGenresRequest()); "After handling the GetGenresRequest" .When(() => genresResponse = getGenresRequestHandler.Handle(getGenreRequest)); "The GenresResponse should be all existing Genres in the database translated".Then(() => { var existingGenresTranslated = new WebApiMovieRestInitializer() .SeedMovies() .SelectMany(movie => movie.Genres) .Distinct() .ToResponse(); genresResponse.ShouldBeEquivalentTo( existingGenresTranslated, // do not compare ids o => o.Excluding(x => x.PropertyInfo.Name == "Id") ); }); }
public async Task <IActionResult> GetGenres(GetGenresRequest getGenresRequest) { var genreViewModel = _mapper.Map <GenreViewModel>(getGenresRequest); var genres = await _settingsService.GetGenresAsync(genreViewModel); return(Ok(genres)); }
public async Task <GetMultipleResponse <Genre> > GetGenres(GetGenresRequest request) { return(await ExecuteAsync <GetMultipleResponse <Genre> >(request, async response => { var getResponse = await _httpClient.GetAsync($"{_baseAddress}/genre/{request.mediaType}/list?api_key={_v3Key}&language={request.language}"); if (getResponse.IsSuccessStatusCode) { response.Results = JsonConvert.DeserializeObject <List <Genre> >(await getResponse.Content.ReadAsStringAsync()); } else { throw new ApiException(await getResponse.Content.ReadAsStringAsync(), statusCode: (int)getResponse.StatusCode); } })); }
public GetGenresResponse GetGenres(GetGenresRequest request) { var response = new GetGenresResponse() { Request = request, ResponseToken = Guid.NewGuid() }; try { response.Genres = _repository.FindAll().MapToViews(); response.Success = true; } catch (Exception ex) { response.Message = ex.Message; response.Success = false; } return(response); }
public IHttpActionResult Get() { var loggedUserId = HttpContext.Current.GetOwinContext().GetUserId(); var request = new GetGenresRequest() { RequestToken = Guid.NewGuid(), UserId = loggedUserId }; var genresResponse = _genreService.GetGenres(request); if (!genresResponse.Success) { return(BadRequest(genresResponse.Message)); } return(Ok( new { genres = genresResponse.Genres.MapToViewModels() } )); }
public async Task <IActionResult> GetAllAsync([FromQuery] GetGenresRequest request) { var result = await _mediator.Send(request); return(Ok(result)); }
/// <summary> /// Returns list of genres. /// </summary> /// <param name="request">Container for the necessary parameters to execute the <see cref="GetGenresAsync(GetGenresRequest)"/> method.</param> /// <returns>The response from the Genres API.</returns> public async Task <List <GetGenreResponse> > GetGenresAsync(GetGenresRequest request) { return(await this.ApiRequestAsync <List <GetGenreResponse> >(request)); }
/* * public string GetCinemas() * { * // https://apis.justwatch.com/content/cinemas/en_US?latitude=33.9772015&longitude=-118.1963514&radius=20000 * throw new NotImplementedException(); * } */ /// <summary> /// Returns list of genres. /// </summary> /// <param name="request">Container for the necessary parameters to execute the <see cref="GetGenres(GetGenresRequest)"/> method.</param> /// <returns>The response from the Genres API.</returns> public List <GetGenreResponse> GetGenres(GetGenresRequest request) { return(this.ApiRequest <List <GetGenreResponse> >(request)); }
public HttpResponseMessage Process([FromUri] GetGenresRequest request) { return(Request.CreateResponse(HttpStatusCode.OK, _handler.Handle(request))); }
protected override async Task <AbstractAnswer <IEnumerable <Genre> > > HandleAsync(GetGenresRequest request, CancellationToken cancellationToken) { return(CreateSuccessAnswer(await _genreGetter.InvokeAsync())); }