public async void Post_weather_forecast_ok( ) { var date = DateTime.Now; var temperature = 25; var summary = "Hot"; var request = new PostWeatherForecastViewModel(date, temperature, summary); var response = await _client .RequestAsync($"{_apiUrl}/{_endpointUrl}/", request, CancellationToken.None) .ThenGet <WeatherForecastViewModel>( ); Assert.NotNull(response); }
public async Task <IActionResult> PostAsync([FromBody] PostWeatherForecastViewModel postWeatherForecast, CancellationToken cancellationToken) { var command = _mapper.Map <PostWeatherForecastCommand>(postWeatherForecast); var result = await _mediator.SendCommandAsync <PostWeatherForecastCommand, WeatherForecast>(command, cancellationToken); var response = _mapper.Map <WeatherForecast, WeatherForecastViewModel>(result); var simpleJob = new WeatherForecastUpdatedJob(response.WeatherForecastId); var jobId = _mediator.RaiseJob(simpleJob); var continuedJob = new WeatherForecastContinuedJob(response.WeatherForecastId, jobId); _mediator.RaiseJob(continuedJob); return(ResponseRedirect("Get", new { id = response?.WeatherForecastId })); }
public async void Post_weather_forecast_ok( ) { var date = DateTime.Now; var temperature = 25; var summary = "Hot"; var request = new PostWeatherForecastViewModel(date, temperature, summary); var response = await _client.PostAsync($"{_apiUrl}/{_endpointUrl}", request); if (response.IsSuccessStatusCode) { var weatherForecast = await response.GetResponseAsync <WeatherForecastViewModel>( ); Assert.NotNull(weatherForecast); } }
public async Task <IActionResult> PostAsync([FromBody] PostWeatherForecastViewModel postWeatherForecast, CancellationToken cancellationToken, [FromServices] DbTransaction dbTransaction) { // SQLite does not support multiple transactions, to use transactions do not use persistent jobs // Uncomment the '.UseTransaction( )' line at Startup await using var transaction = new Transactions(dbTransaction); var command = _mapper.Map <PostWeatherForecastCommand>(postWeatherForecast); var result = await _mediator.SendCommandAsync <PostWeatherForecastCommand, WeatherForecast>(command, cancellationToken); var response = _mapper.Map <WeatherForecast, WeatherForecastViewModel>(result); await transaction.CommitAsync( ); var simpleJob = new WeatherForecastUpdatedJob(response.WeatherForecastId); var jobId = _mediator.RaiseJob(simpleJob); var continuedJob = new WeatherForecastContinuedJob(response.WeatherForecastId, jobId); _mediator.RaiseJob(continuedJob); return(ResponseRedirect("Get", new { id = response?.WeatherForecastId })); }