public override async Task <ForecastResult> ForecastInfo(GetForecastForDateRequest request, ServerCallContext context) { var parsedDate = DateParserHelper.Parse(request.Date); var forecast = await ForecastFactory.CreateAsync(parsedDate); return(new ForecastResult { Date = forecast.date, TemperatureC = forecast.temperatureC, Summary = forecast.summary, CanYouPlayGolf = forecast.canYouPlayGolf }); }
public async Task <WeatherForecast> GetForDate(string date) { var parsedDate = DateParserHelper.Parse(date); var forecast = await ForecastFactory.CreateAsync(parsedDate); return(new WeatherForecast { Date = forecast.date, TemperatureC = forecast.temperatureC, Summary = forecast.summary, CanYouPlayGolf = forecast.canYouPlayGolf }); }
public override async Task ForecastInfoBidirectionalStreaming(IAsyncStreamReader <GetForecastForDateRequest> requestStream, IServerStreamWriter <ForecastResult> responseStream, ServerCallContext context) { while (await requestStream.MoveNext()) { var current = requestStream.Current; _logger.LogInformation($"Request for date: {current.Date}"); var(date, summary, temperatureC, canYouPlayGolf) = await ForecastFactory.CreateAsync(DateParserHelper.Parse(current.Date)); await responseStream.WriteAsync( new ForecastResult { Date = date, TemperatureC = temperatureC, CanYouPlayGolf = canYouPlayGolf, Summary = summary }); } }