public List <ExpressTrackingInfoViewModel> Get(OrderTrackingRequestViewModel request)
        {
            var expressInfo = China.OrderProvider.GetExpressTrackInfo(request.OrderId);

            if (null == expressInfo)
            {
                return(null);
            }
            var expressInfoDetail = China.OrderProvider.GetExternalExpressTrackInfo(expressInfo.ExpressCode,
                                                                                    expressInfo.ExpressNum);

            return(ModelConverter.ConvertExpresInfoToViewModel(expressInfo, expressInfoDetail));
        }
예제 #2
0
        public MobileResponseWrapper Get([FromUri] OrderTrackingRequestViewModel request)
        {
            try
            {
                request.Locale = Thread.CurrentThread.CurrentCulture.Name;
                if (request == null || request.MemberId == null || string.IsNullOrEmpty(request.MemberId) ||
                    string.IsNullOrWhiteSpace(request.MemberId) ||
                    request.Locale == null || string.IsNullOrEmpty(request.Locale) ||
                    string.IsNullOrWhiteSpace(request.Locale))
                {
                    throw CreateException(HttpStatusCode.BadRequest, "Get Order Tracking incomplete/invalid information sended", 210416);
                }
                string obj    = JsonConvert.SerializeObject(request);
                var    result = _iMobileOrderTrackingProvider.Get(request);

                if (result != null)
                {
                    var response = new MobileResponseWrapper
                    {
                        Data =
                            new OrderTrackingResponseViewModel
                        {
                            ExpressInfo = result,
                            Locale      = request.Locale,
                            OrderId     = request.OrderId,
                            MemberId    = request.MemberId
                        }
                    };

                    Object json = JObject.Parse(obj);
                    MobileActivityLogProvider.ActivityLog(json, string.Empty, request.MemberId, true,
                                                          this.Request.RequestUri.ToString(),
                                                          this.Request.Headers.ToString(),
                                                          this.Request.Headers.UserAgent.ToString(),
                                                          request.Locale);

                    return(response);
                }
            }
            catch (Exception ex)
            {
                LoggerHelper.Error(ex.ToString());
                throw CreateException(HttpStatusCode.InternalServerError, "Internal server errror searching for Get Order Tracking Express Info" + ex.Message, 166767);
            }

            throw CreateException(HttpStatusCode.InternalServerError, "Internal server errror searching for Get Order Tracking Express Info", 210416);
        }