public async Task<IHttpActionResult> GetTrain(TrainRequest trainRequest) { try { var result = await _yandexApiService.LoadTrain(trainRequest); return SuccessApiResult(result); } catch (Exception e) { return ErrorApiResult(100, e.Message); } }
public async Task<TrainStops> LoadTrain(TrainRequest trainRequest) { var request = new RestRequest(Method.GET); _restClient.BaseUrl=new Uri(_restClient.BaseUrl.ToString()+ "thread/"); request.AddParameter("apikey", _apiKey); request.AddParameter("format", "json"); request.AddParameter("lang", "ru"); request.AddParameter("date", trainRequest.Date.ToString("yyyy-MM-dd")); request.AddParameter("uid", trainRequest.Uid); request.AddParameter("show_systems", "all"); var uri = _restClient.BuildUri(request); var response = await _restClient.ExecuteTaskAsync(request); var resultObject = JsonConvert.DeserializeObject<YandexTrainApiResponse>(response.Content); return ConvertTrainToModel(resultObject); }