public BaseSearchRequest GetReceivedSearchRequest() { BaseSearchRequest receivedSReq = (BaseSearchRequest)this; receivedSReq.ID = TheReceivedID; return(receivedSReq); }
public BESearchRequest(BaseSearchRequest baseSource) : base(baseSource) { TheStatus = Status.New; TheReceivedID = baseSource.ID; ActiveExecutionID = -1; }
public async Task <BaseSearchResult> Search(BaseSearchRequest req) { try { var response = await HttpClient.GetStringAsync($"{Url}?{req.QueryString}"); return(JsonConvert.DeserializeObject <PlansResult>(response)); } catch (Exception) { return(new PlansResult()); } }
public async Task <IHttpActionResult> PostSearchRequest(BaseSearchRequest baseSearchRequest) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } BESearchRequest theSearchRequest; BESearchRequest newBESearchRequest = new BESearchRequest(baseSearchRequest); try { theSearchRequest = await dbHandlerService.StoreOrUpdateSearchRequest(newBESearchRequest); IMasterActor theMasterActor = ActorProxy.Create <IMasterActor>(new ActorId(theSearchRequest.ID)); await theMasterActor.FulfillSearchRequestAsync(theSearchRequest); } catch { return(InternalServerError()); } return(Ok()); }
public async Task <T> GetData <T>(string path, BaseSearchRequest request) where T : BaseSearchResponse { request.apiKey = this._apiKey; var json = JsonConvert.SerializeObject(request); var stringContent = new StringContent(json, Encoding.UTF8, "application/json"); var url = $"{this._host}/{this._apiVersion}/{this._format}/{path}"; using (var client = new HttpClient()) { var response = await client.PostAsync(url, stringContent); var responseString = await response.Content.ReadAsStringAsync(); var serialized = JsonConvert.DeserializeObject <T>(responseString); if (!serialized.success) { throw new Exception(serialized.errors[0]); } return(serialized); } }
private async Task <TResponse> SendRequestAsync <TResponse>( string path, BaseSearchRequest request, CancellationToken cancellationToken) where TResponse : BaseSearchResponse { string responseBody; try { request.apiKey = ApiKey; var requestJson = JsonConvert.SerializeObject(request); var requestContent = new StringContent(requestJson, Encoding.UTF8, "application/json"); using (var client = new HttpClient()) { var httpResponse = await client.PostAsync( $"{ApiUrl}/{ApiVersion}/{Format}/{path}", requestContent, cancellationToken); responseBody = await httpResponse.Content.ReadAsStringAsync(); if (!httpResponse.IsSuccessStatusCode) { throw new NovaPoshtaUkraineClientException($"Request to API failed, response code {(int)httpResponse.StatusCode}, body: {responseBody}"); } } } catch (OperationCanceledException) { throw; } catch (NovaPoshtaUkraineClientException) { throw; } catch (Exception ex) { throw new NovaPoshtaUkraineClientException("API request failed.", ex); } TResponse response; try { response = JsonConvert.DeserializeObject <TResponse>(responseBody); } catch (Exception ex) { throw new NovaPoshtaUkraineClientException("Bad format of API response.", ex); } if (response == null) { throw new NovaPoshtaUkraineClientException("API response is null."); } if (!response.success) { var errors = response.errors ?? new string[0]; throw new NovaPoshtaUkraineClientException($"API response is not successful, errors: {string.Join(", ", errors)}."); } return(response); }
/// <summary> /// /// </summary> /// <typeparam name="T"></typeparam> /// <param name="source"></param> /// <param name="request"></param> /// <returns></returns> public static async Task <List <T> > ToPagedListAsync <T>(this IQueryable <T> source, BaseSearchRequest request) { return(await source.ToPagedListAsync(request.PageIndex, request.PageSize)); }
public async Task <BaseSearchResult> SearchAsync(BaseSearchRequest req) { return(await Search(req)); }