public async Task <IActionResult> GetStore([FromQuery] GetStoreRequest request) { // some logic ... await Task.Delay(1000); return(Ok(request)); }
public virtual async Task <Overture.ServiceModel.Customers.Stores.Store> GetStoreAsync(GetStoreParam param) { if (string.IsNullOrWhiteSpace(param.Scope)) { throw new ArgumentException(nameof(param.Scope)); } if (param.Id == default) { throw new ArgumentException(nameof(param.Id)); } var cacheKey = new CacheKey(CacheConfigurationCategoryNames.Store) { Scope = param.Scope }; cacheKey.AppendKeyParts(GETSTOREBYID_CACHE_KEYPART, param.Id); var request = new GetStoreRequest() { ScopeId = param.Scope, Id = param.Id, IncludeAddresses = param.IncludeAddresses, IncludeSchedules = param.IncludeSchedules, IncludeOperatingStatus = param.IncludeOperatingStatus }; return(await CacheProvider.GetOrAddAsync(cacheKey, () => OvertureClient.SendAsync(request)).ConfigureAwait(false)); }
public HttpResponseMessage GetStore() { HttpResponseMessage httpResponseMessage = Request.CreateResponse(HttpStatusCode.OK); string strRequest = string.Empty; try { strRequest = Request.Content.ReadAsStringAsync().Result; if (string.IsNullOrWhiteSpace(strRequest)) { httpResponseMessage.StatusCode = System.Net.HttpStatusCode.InternalServerError; httpResponseMessage.Content = new StringContent(Constants.INVALID_REQUEST); return(httpResponseMessage); } JsonSerializerHelper serializer = new JsonSerializerHelper(); GetStoreRequest getStoreRequest = (GetStoreRequest)serializer.Deserialize(strRequest, typeof(GetStoreRequest)); if (getStoreRequest == null) { httpResponseMessage.StatusCode = System.Net.HttpStatusCode.InternalServerError; httpResponseMessage.Content = new StringContent(Constants.INVALID_REQUEST); return(httpResponseMessage); } GetStoreResponse response = new GetStoreResponse(); List <StoreItem> storeItems = StoreManager.GetAvailableStoreItems(getStoreRequest.StoreID); if (storeItems == null) { httpResponseMessage.StatusCode = System.Net.HttpStatusCode.InternalServerError; httpResponseMessage.Content = new StringContent(Constants.PROCESSING_ERROR); return(httpResponseMessage); } response.StoreItems = storeItems; response.Success = true; string responseContent = serializer.Serialize(response); httpResponseMessage.Content = new StringContent(responseContent, Encoding.UTF8, "application/json"); } catch (Exception ex) { this.HandleException(ex, strRequest); httpResponseMessage.StatusCode = System.Net.HttpStatusCode.InternalServerError; httpResponseMessage.Content = new StringContent(Constants.PROCESSING_ERROR); } return(httpResponseMessage); }
GetStoreRequest GetRequestInfo() { // Get the Json from the POST. string strJson = String.Empty; HttpContext context = HttpContext.Current; context.Request.InputStream.Position = 0; using (StreamReader inputStream = new StreamReader(context.Request.InputStream)) { strJson = inputStream.ReadToEnd(); } // Deserialize the Json. GetStoreRequest req = JsonConvert.DeserializeObject <GetStoreRequest>(strJson); return(req); }