Пример #1
0
        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));
        }
Пример #3
0
        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);
        }
Пример #4
0
    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);
    }