コード例 #1
0
 public IResponseBase Execute(IRequestParameter parameters)
 {
     var result = new Response<PowerReviewFaceOffResponse>();
     try
     {
         _request = (PowerReviewFaceoffRequest)parameters;
         var cacheKey = string.Format(Config.PowerReview.CacheKeyFaceOff, _request.ProductId);
         result = CacheMemory.Get<Response<PowerReviewFaceOffResponse>>(cacheKey);
         if (result == null || result.resultset.FaceOff.positive.rating == 0)
         {
             _request = (PowerReviewFaceoffRequest)parameters;
             var communicationRequest = BuildUrl(parameters);
             _response = Communicate(communicationRequest);
             result = ParseResponse(_response);
             if (result.resultset.FaceOff != null)
             {
                 if (result.resultset.FaceOff.positive.rating > 0)
                 {
                     if (Config.PowerReview.IsCacheEnabled)
                     {
                         CacheMemory.SetAndExpiresMinutesAsync(cacheKey, result, Config.PowerReview.Cache_TTL_InMinutes);
                     }
                 }
             }
         }
     }
     catch (Exception ex)
     {
         _errors.Add(ex.Handle("PowerReviewGetFaceOff.Execute", ErrorSeverity.FollowUp, ErrorType.RequestError));
     }
     return result;
 }
コード例 #2
0
        private FaceOff GetPwFaceOff(string productId)
        {
            var faceOffResponse = new PowerReviewFaceOffResponse();
            var faceOffRequest  = new PowerReviewFaceoffRequest();
            var faceoff         = new PowerReviewGetFaceOff(_core);

            faceOffRequest.ProductId = productId;
            return(((Response <PowerReviewFaceOffResponse>)faceoff.Execute(faceOffRequest)).resultset.FaceOff);
        }