public JsonResult GetAvailableStates(GetAvailableStatesInputModel model)
        {
            try
            {
                Assert.ArgumentNotNull(model, "model");

                var validationResult = new BaseJsonResult();
                this.ValidateModel(validationResult);
                if (validationResult.HasErrors)
                {
                    return(Json(validationResult, JsonRequestBehavior.AllowGet));
                }

                var response = this.OrderManager.GetAvailableRegions(CurrentStorefront, CurrentVisitorContext, model.CountryCode);
                var result   = new AvailableStatesBaseJsonResult(response.ServiceProviderResult);
                if (response.ServiceProviderResult.Success && response.Result != null)
                {
                    result.Initialize(response.Result);
                }

                return(Json(result, JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                CommerceLog.Current.Error("GetAvailableStates", this, e);
                return(Json(new BaseJsonResult("GetAvailableStates", e), JsonRequestBehavior.AllowGet));
            }
        }
Ejemplo n.º 2
0
        public JsonResult UpdateLineItem(UpdateCartLineInputModel inputModel)
        {
            try
            {
                Assert.ArgumentNotNull(inputModel, "inputModel");

                var validationResult = new BaseJsonResult();
                this.ValidateModel(validationResult);
                if (validationResult.HasErrors)
                {
                    return(Json(validationResult, JsonRequestBehavior.AllowGet));
                }

                var response = this.CartManager.ChangeLineQuantity(CurrentStorefront, CurrentVisitorContext, inputModel);
                var result   = new CSCartBaseJsonResult(response.ServiceProviderResult);
                if (response.ServiceProviderResult.Success && response.Result != null)
                {
                    result.Initialize(response.Result);
                }

                return(Json(result, JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                CommerceLog.Current.Error("UpdateLineItem", this, e);
                return(Json(new BaseJsonResult("UpdateLineItem", e), JsonRequestBehavior.AllowGet));
            }
        }
        public JsonResult SetPaymentMethods(PaymentInputModel inputModel)
        {
            try
            {
                Assert.ArgumentNotNull(inputModel, "inputModel");

                var validationResult = new BaseJsonResult();
                this.ValidateModel(validationResult);
                if (validationResult.HasErrors)
                {
                    return(Json(validationResult, JsonRequestBehavior.AllowGet));
                }

                var response = this.CartManager.SetPaymentMethods(this.CurrentStorefront, this.CurrentVisitorContext, inputModel);
                var result   = new CSCartBaseJsonResult(response.ServiceProviderResult);
                if (!response.ServiceProviderResult.Success || response.Result == null)
                {
                    return(Json(result, JsonRequestBehavior.AllowGet));
                }

                result.Initialize(response.Result);

                return(Json(result, JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                CommerceLog.Current.Error("SetPaymentMethods", this, e);
                return(Json(new BaseJsonResult("SetPaymentMethods", e), JsonRequestBehavior.AllowGet));
            }
        }
        public JsonResult CheckGiftCardBalance(GetGiftCardBalanceInputModel inputModel)
        {
            try
            {
                Assert.ArgumentNotNull(inputModel, "inputModel");

                var validationResult = new BaseJsonResult();
                this.ValidateModel(validationResult);
                if (validationResult.HasErrors)
                {
                    return(Json(validationResult, JsonRequestBehavior.AllowGet));
                }

                var response = this.GiftCardManager.GetGiftCardBalance(CurrentStorefront, CurrentVisitorContext, inputModel.GiftCardId);
                var result   = new GiftCardBaseJsonResult(response.ServiceProviderResult);
                if (!response.ServiceProviderResult.Success || response.ServiceProviderResult.GiftCard == null)
                {
                    return(Json(result, JsonRequestBehavior.AllowGet));
                }

                var giftCard = response.ServiceProviderResult.GiftCard;
                result.Initialize(giftCard);
                return(Json(result, JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                CommerceLog.Current.Error("CheckGiftCardBalance", this, e);
                return(Json(new BaseJsonResult("CheckGiftCardBalance", e), JsonRequestBehavior.AllowGet));
            }
        }
        public JsonResult SubmitOrder(SubmitOrderInputModel inputModel)
        {
            try
            {
                Assert.ArgumentNotNull(inputModel, "inputModel");

                var validationResult = new BaseJsonResult();
                this.ValidateModel(validationResult);
                if (validationResult.HasErrors)
                {
                    return(Json(validationResult, JsonRequestBehavior.AllowGet));
                }

                var response = this.OrderManager.SubmitVisitorOrder(CurrentStorefront, CurrentVisitorContext, inputModel);
                var result   = new SubmitOrderBaseJsonResult(response.ServiceProviderResult);
                if (!response.ServiceProviderResult.Success || response.Result == null || response.ServiceProviderResult.CartWithErrors != null)
                {
                    return(Json(result, JsonRequestBehavior.AllowGet));
                }

                result.Initialize(string.Concat(StorefrontManager.StorefrontUri("checkout/OrderConfirmation"), "?confirmationId=", response.Result.OrderID));
                return(Json(result, JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                CommerceLog.Current.Error("SubmitOrder", this, e);
                return(Json(new BaseJsonResult("SubmitOrder", e), JsonRequestBehavior.AllowGet));
            }
        }
Ejemplo n.º 6
0
        public BaseJsonResult AddCartLines(IEnumerable <AddCartLineInputModel> inputModels)
        {
            var response = _cartManager.AddLineItemsToCart(CurrentStorefront, CurrentVisitorContext, inputModels);
            var result   = new BaseJsonResult(response.ServiceProviderResult);

            return(result);
        }
Ejemplo n.º 7
0
        public BaseJsonResult DeleteNews(int id)
        {
            BaseJsonResult result       = new BaseJsonResult();
            var            resultStatus = new ResponseStatusContract();

            if (id <= 0)
            {
                resultStatus.Status = OperationStatus.Error;
                result.Data         = resultStatus;
                return(result);
            }

            var news = dbContext.tbInfoNews.FirstOrDefault(x => x.ID == id);

            if (news != null)
            {
                try
                {
                    dbContext.DeleteObject(news);
                    if (dbContext.SaveChanges() > 0)
                    {
                        resultStatus.Status = OperationStatus.Success;
                    }
                }
                catch
                {
                    resultStatus.Status = OperationStatus.Error;
                }
            }
            result.Data = resultStatus;

            return(result);
        }
        /// <summary>
        /// 输入拦截器
        /// </summary>
        /// <param name="actionContext"></param>
        public override void OnActionExecuting(HttpActionContext actionContext)
        {
            if (!actionContext.ModelState.IsValid)
            {
                StringBuilder sb = new StringBuilder();
                foreach (var m in actionContext.ModelState)
                {
                    string[] key = m.Key.Split(".".ToCharArray());
                    string   err = key.Length == 2 ? key[1] + "^" : "";

                    ModelErrorCollection errors = m.Value.Errors;
                    foreach (ModelError error in errors)
                    {
                        err += error.ErrorMessage + ",";
                    }
                    err = err.Substring(0, err.Length - 1) + "|";
                    sb.Append(err);
                }

                var resultMsg = new BaseJsonResult <string>
                {
                    Status  = GlobalErrorCodes.AuthParameterError,
                    Message = sb.ToString().Substring(0, sb.ToString().Length - 1),
                };

                actionContext.Response = resultMsg.TryToHttpResponseMessage(true);
            }
            base.OnActionExecuting(actionContext);
        }
Ejemplo n.º 9
0
        public JsonResult RemoveDiscount(DiscountInputModel model)
        {
            try
            {
                Assert.ArgumentNotNull(model, "model");

                var validationResult = new BaseJsonResult();
                this.ValidateModel(validationResult);
                if (validationResult.HasErrors)
                {
                    return(Json(validationResult, JsonRequestBehavior.AllowGet));
                }

                var response = this.CartManager.RemovePromoCodeFromCart(CurrentStorefront, CurrentVisitorContext, model.PromoCode);
                var result   = new CSCartBaseJsonResult(response.ServiceProviderResult);
                if (response.ServiceProviderResult.Success && response.Result != null)
                {
                    result.Initialize(response.Result);
                }

                return(Json(result, JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                CommerceLog.Current.Error("RemoveDiscount", this, e);
                return(Json(new BaseJsonResult("RemoveDiscount", e), JsonRequestBehavior.AllowGet));
            }
        }
Ejemplo n.º 10
0
        public JsonResult AddCartLine(AddCartLineInputModel inputModel)
        {
            try
            {
                Assert.ArgumentNotNull(inputModel, "inputModel");

                var validationResult = new BaseJsonResult();
                this.ValidateModel(validationResult);
                if (validationResult.HasErrors)
                {
                    return(Json(validationResult, JsonRequestBehavior.AllowGet));
                }

                var response = this.CartManager.AddLineItemsToCart(CurrentStorefront, CurrentVisitorContext, new List <AddCartLineInputModel> {
                    inputModel
                });
                var result = new BaseJsonResult(response.ServiceProviderResult);
                return(Json(result, JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                CommerceLog.Current.Error("AddCartLine", this);
                return(Json(new BaseJsonResult("AddCartLine", e), JsonRequestBehavior.AllowGet));
            }
        }
Ejemplo n.º 11
0
 /// <summary>
 /// 校验接口基类参数
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="parameter"></param>
 /// <param name="result"></param>
 /// <returns></returns>
 protected bool CheckBaseArgument <T>(BaseParameterEntity parameter, out BaseJsonResult <T> result)
 {
     if (string.IsNullOrEmpty(parameter.t))
     {
         result = new BaseJsonResult <T> {
             Status = (int)JsonObjectStatus.Fail, Message = "时间戳不能为空。"
         };
         return(false);
     }
     else
     {
         if (!parameter.t.CheckTimeStamp())
         {
             result = new BaseJsonResult <T> {
                 Status = (int)JsonObjectStatus.Fail, Message = "时间戳有误。"
             };
             return(false);
         }
         else
         {
             result = new BaseJsonResult <T> {
                 Status = (int)JsonObjectStatus.Success
             };
             return(true);
         }
     }
 }
        public JsonResult GetShippingMethods(GetShippingMethodsInputModel inputModel)
        {
            try
            {
                Assert.ArgumentNotNull(inputModel, "inputModel");

                var validationResult = new BaseJsonResult();
                this.ValidateModel(validationResult);
                if (validationResult.HasErrors)
                {
                    return(Json(validationResult, JsonRequestBehavior.AllowGet));
                }

                var response = this.ShippingManager.GetShippingMethods(CurrentStorefront, CurrentVisitorContext, inputModel);
                var result   = new ShippingMethodsJsonResult(response.ServiceProviderResult);
                if (response.ServiceProviderResult.Success)
                {
                    result.Initialize(response.ServiceProviderResult.ShippingMethods, response.ServiceProviderResult.ShippingMethodsPerItem);
                }

                return(Json(result, JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                CommerceLog.Current.Error("GetShippingMethods", this, e);
                return(Json(new BaseJsonResult("GetShippingMethods", e), JsonRequestBehavior.AllowGet));
            }
        }
        public JsonResult AddressDelete(DeletePartyInputModelItem model)
        {
            try
            {
                Assert.ArgumentNotNull(model, "model");

                var validationResult = new BaseJsonResult();
                this.ValidateModel(validationResult);
                if (validationResult.HasErrors)
                {
                    return(Json(validationResult, JsonRequestBehavior.AllowGet));
                }

                var addresses = new List <CommerceParty>();
                var response  = this.AccountManager.RemovePartiesFromCurrentUser(this.CurrentStorefront, this.CurrentVisitorContext, model.ExternalId);
                var result    = new AddressListItemJsonResult(response.ServiceProviderResult);
                if (response.ServiceProviderResult.Success)
                {
                    addresses = this.AllAddresses(result);
                }

                result.Initialize(addresses, null);
                return(Json(result, JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                CommerceLog.Current.Error("AddressDelete", this, e);
                return(Json(new BaseJsonResult("AddressDelete", e), JsonRequestBehavior.AllowGet));
            }
        }
Ejemplo n.º 14
0
        /// <summary>
        /// ErrorJsonResultException
        /// </summary>
        /// <param name="message">异常消息</param>
        /// <param name="inner">内部异常</param>
        /// <param name="jsonResult">WxJsonResult</param>
        /// <param name="url">API地址</param>
        public ErrorJsonResultException(string message, Exception inner, BaseJsonResult jsonResult, string url = null)
            : base(message, inner, true)
        {
            JsonResult = jsonResult;
            Url        = url;

            WeixinTrace.ErrorJsonResultExceptionLog(this);
        }
        public JsonResult GetCurrentProductStockInfo(ProductStockInfoInputModel model)
        {
            try
            {
                Assert.ArgumentNotNull(model, "model");

                var validationResult = new BaseJsonResult();
                this.ValidateModel(validationResult);
                if (validationResult.HasErrors)
                {
                    return(Json(validationResult, JsonRequestBehavior.AllowGet));
                }

                var currentProductItem = SearchNavigation.GetProduct(model.ProductId, CurrentCatalog.Name);
                var productId          = currentProductItem.Name;
                var catalogName        = currentProductItem["CatalogName"];
                var products           = new List <CommerceInventoryProduct>();
                if (currentProductItem.HasChildren)
                {
                    foreach (Item item in currentProductItem.Children)
                    {
                        products.Add(new CommerceInventoryProduct
                        {
                            ProductId   = productId,
                            CatalogName = catalogName,
                            VariantId   = item["VariantId"]
                        });
                    }
                }
                else
                {
                    products.Add(new CommerceInventoryProduct {
                        ProductId = productId, CatalogName = catalogName
                    });
                }

                var response = this.InventoryManager.GetStockInformation(this.CurrentStorefront, products, StockDetailsLevel.All);
                var result   = new StockInfoListBaseJsonResult(response.ServiceProviderResult);
                if (response.Result == null)
                {
                    return(Json(result, JsonRequestBehavior.AllowGet));
                }

                result.Initialize(response.Result);
                var stockInfo = response.Result.FirstOrDefault();
                if (stockInfo != null)
                {
                    this.InventoryManager.VisitedProductStockStatus(this.CurrentStorefront, stockInfo, string.Empty);
                }

                return(Json(result, JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                CommerceLog.Current.Error("GetCurrentProductStockInfo", this, e);
                return(Json(new BaseJsonResult("GetCurrentProductStockInfo", e), JsonRequestBehavior.AllowGet));
            }
        }
Ejemplo n.º 16
0
        public HttpResponseMessage GetAuthorizationToken(GetTokenArgEntity arg)
        {
            BaseJsonResult <AccessTokenDto> resultMsg = null;

            Logger(this.GetType(), "获取授权Token-GetAuthorizationToken", () =>
            {
                if (this.CheckBaseArgument(arg, out resultMsg))
                {
                    if (arg.Account.Equals("guest") && arg.UserId.Equals("guest"))
                    {
                        JWTPlayloadInfo playload = new JWTPlayloadInfo
                        {
                            iss    = "S_COMMON_TOKTN",
                            sub    = arg.Account,
                            aud    = arg.UserId,
                            userid = CommonHelper.GetGuid(),
                            extend = "PUBLIC_TOKTN"
                        };
                        string token = JWTHelper.GetToken(playload);

                        AccessTokenDto access = new AccessTokenDto
                        {
                            AccessToken = token,
                            ExpiryTime  = playload.exp
                        };

                        resultMsg = this.GetBaseJsonResult <AccessTokenDto>(access, JsonObjectStatus.Success);
                    }
                    else
                    {
                        //TODO 根据UserID校验用户是否存在
                        //JWTPlayloadInfo playload = new JWTPlayloadInfo
                        //{
                        //    iss = "S_USER_TOKTN",
                        //    sub = arg.Account,
                        //    aud = arg.UserId,
                        //    userid = CommonHelper.GetGuid(),
                        //    extend = "USER_TOKTN"
                        //};
                        //string token = JWTHelper.GetToken(playload);

                        //AccessTokenDto access = new AccessTokenDto
                        //{
                        //    AccessToken = token,
                        //    ExpiryTime = playload.exp
                        //};
                        //resultMsg = this.GetBaseJsonResult<AccessTokenDto>(access, JsonObjectStatus.Success);

                        resultMsg = this.GetBaseJsonResult <AccessTokenDto>(JsonObjectStatus.UserNotExist);
                    }
                }
            }, e =>
            {
                resultMsg = this.GetBaseJsonResult <AccessTokenDto>(JsonObjectStatus.Exception, ",异常信息:" + e.Message);
            });

            return(resultMsg.TryToHttpResponseMessage());
        }
        public JsonResult AddBundleCartLine(string addToCart_CatalogName, string addToCart_ProductId, string addtocart_relatedvariantids, Decimal quantity)
        {
            BaseJsonResult baseJsonResult = this.ModelProvider.GetModel <BaseJsonResult>();

            try
            {
                string[] relatedVariantIds = addtocart_relatedvariantids.Split(',');
                if (relatedVariantIds.Any())
                {
                    foreach (string relatedVariantId in relatedVariantIds.Where(id => !String.IsNullOrEmpty(id)))
                    {
                        string  bundleProductId       = relatedVariantId;
                        Decimal bundleProductQuantity = 1;
                        if (relatedVariantId.Contains('&'))
                        {
                            bundleProductId       = relatedVariantId.Split('&')[0];
                            bundleProductQuantity = Decimal.Parse(relatedVariantId.Split('&')[1].Split('=')[1]);
                        }

                        var bundleProduct = _searchManager.GetProduct(bundleProductId.Contains('|') ? bundleProductId.Split('|')[0] : bundleProductId, addToCart_CatalogName);

                        string bundleBaseProductId = bundleProductId;
                        string bundleVariantId     = "-1";

                        if (bundleProduct.HasChildren)
                        {
                            bundleVariantId = bundleProduct.Children[0].Name;
                        }
                        if (bundleProductId.Contains('|'))
                        {
                            bundleBaseProductId = bundleProductId.Split('|')[0];
                            bundleVariantId     = bundleProductId.Split('|')[1];
                        }

                        baseJsonResult = this.AddToCartRepository.AddLineItemsToCart(this.StorefrontContext, this.VisitorContext, addToCart_CatalogName, bundleBaseProductId, bundleVariantId, bundleProductQuantity);
                    }
                }

                Item   baseProduct = _searchManager.GetProduct(addToCart_ProductId, addToCart_CatalogName);
                string variantId   = "-1";

                if (baseProduct.HasChildren)
                {
                    variantId = baseProduct.Children[0].Name;
                }

                baseJsonResult         = this.AddToCartRepository.AddLineItemsToCart(this.StorefrontContext, this.VisitorContext, addToCart_CatalogName, addToCart_ProductId, variantId, quantity);
                baseJsonResult.Success = true;
            }
            catch (Exception ex)
            {
                baseJsonResult = this.ModelProvider.GetModel <BaseJsonResult>();
                baseJsonResult.SetErrors(nameof(AddCartLine), ex);
            }
            return(this.Json(baseJsonResult));
        }
Ejemplo n.º 18
0
        /// <summary>
        /// 获取公共返回消息
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="status">状态</param>
        /// <param name="message">消息</param>
        /// <returns></returns>
        protected BaseJsonResult <T> GetBaseJsonResult <T>(JsonObjectStatus status = JsonObjectStatus.Error, string message = "") where T : class
        {
            BaseJsonResult <T> resultMsg = new BaseJsonResult <T>
            {
                Status  = (int)status,
                Message = $"{status.GetEnumDescription()}{message}",
            };

            return(resultMsg);
        }
Ejemplo n.º 19
0
        public HttpResponseMessage GetUserName(string userId, string name)
        {
            BaseJsonResult <string> resultMsg = new BaseJsonResult <string>
            {
                Status  = GlobalErrorCodes.Success,
                Data    = "V2-" + userId + ":" + name,
                Message = "操作成功"
            };

            return(resultMsg.TryToHttpResponseMessage());
        }
Ejemplo n.º 20
0
        public HttpResponseMessage GetUserName(string id)
        {
            BaseJsonResult <string> resultMsg = new BaseJsonResult <string>
            {
                Status  = GlobalErrorCodes.Success,
                Data    = "V1-" + id,
                Message = "操作成功"
            };

            return(resultMsg.TryToHttpResponseMessage());
        }
Ejemplo n.º 21
0
        public HttpResponseMessage AddUser(UserEntity user)
        {
            BaseJsonResult <string> resultMsg = new BaseJsonResult <string>
            {
                Status  = GlobalErrorCodes.Success,
                Data    = "V2-" + user.TryToJson(),
                Message = "操作成功"
            };

            return(resultMsg.TryToHttpResponseMessage());
        }
        /// <summary>
        /// Validates the model.
        /// </summary>
        /// <param name="result">The result.</param>
        public virtual void ValidateModel(BaseJsonResult result)
        {
            if (ModelState.IsValid)
            {
                return;
            }

            var errors = (from modelValue in ModelState.Values.Where(modelValue => modelValue.Errors.Any()) from error in modelValue.Errors select error.ErrorMessage).ToList();

            result.SetErrors(errors);
        }
Ejemplo n.º 23
0
        public BaseJsonResult EditNews(int id)
        {
            BaseJsonResult result = new BaseJsonResult();
            var            news   = dbContext.tbInfoNews.Select(x => new NewContract {
                ID = x.ID, Content = x.strNewsContent, Title = x.strNewsTitle
            })
                                    .FirstOrDefault(x => x.ID == id);

            result.Data = news;
            return(result);
        }
Ejemplo n.º 24
0
        public BaseJsonResult AddCartLine(AddCartLineInputModel inputModel)
        {
            var response = _cartManager.AddLineItemsToCart(
                CurrentStorefront,
                CurrentVisitorContext,
                new List <AddCartLineInputModel> {
                inputModel
            });
            var result = new BaseJsonResult(response.ServiceProviderResult);

            return(result);
        }
Ejemplo n.º 25
0
        /// <summary>
        /// 获取公共返回消息
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="data">数据</param>
        /// <param name="status">状态</param>
        /// <param name="message">消息</param>
        /// <returns></returns>
        protected virtual BaseJsonResult <T> GetBaseJsonResult <T>(T data = default(T), GlobalErrorCodes status = GlobalErrorCodes.Error, string message = "") where T : class
        {
            message = string.Format("{0}{1}", status.GetEnumDescription(), string.IsNullOrEmpty(message) ? "" : "," + message);
            BaseJsonResult <T> resultMsg = new BaseJsonResult <T>
            {
                Status  = status,
                Message = message,
                Data    = data
            };

            return(resultMsg);
        }
Ejemplo n.º 26
0
        public JsonResult GetSamples(GetSamplesInputModel inputModel)
        {
            var validationModel = new BaseJsonResult(SitecoreContext, StorefrontContext);

            ValidateModel(validationModel);
            if (validationModel.HasErrors)
            {
                return(Json(validationModel));
            }

            var jsonData = SampleRepository.GetSamples(VisitorContext, inputModel);

            return(Json(jsonData));
        }
Ejemplo n.º 27
0
        /// <summary>
        /// 返回到客户端的消息
        /// </summary>
        /// <param name="request"></param>
        /// <param name="statusCode"></param>
        /// <param name="message"></param>
        /// <returns></returns>
        private Task <HttpResponseMessage> CreateResponse(HttpRequestMessage request, HttpStatusCode statusCode, string message)
        {
            BaseJsonResult <string> resultMsg = new BaseJsonResult <string>
            {
                Status  = statusCode == HttpStatusCode.OK ? GlobalErrorCodes.Success : GlobalErrorCodes.Fail,
                Message = message
            };

            TaskCompletionSource <HttpResponseMessage> tsc = new TaskCompletionSource <HttpResponseMessage>();

            HttpResponseMessage response = resultMsg.TryToHttpResponseMessage();

            tsc.SetResult(response);
            return(tsc.Task);
        }
Ejemplo n.º 28
0
        /// <summary>
        /// 返回到客户端的消息
        /// </summary>
        /// <param name="request"></param>
        /// <param name="statusCode"></param>
        /// <param name="message"></param>
        /// <returns></returns>
        private Task <HttpResponseMessage> CreateResponse(HttpRequestMessage request, HttpStatusCode statusCode, string message)
        {
            BaseJsonResult <string> resultMsg = new BaseJsonResult <string> {
                Status = (int)JsonObjectStatus.Fail, Message = message, Data = null
            };

            TaskCompletionSource <HttpResponseMessage> tsc = new TaskCompletionSource <HttpResponseMessage>();

            HttpResponseMessage response = resultMsg.TryToJson().TryToHttpResponseMessage();

            //request.CreateResponse(statusCode);
            //response.ReasonPhrase = message;

            tsc.SetResult(response);
            return(tsc.Task);
        }
Ejemplo n.º 29
0
        public override void OnAuthorization(HttpActionContext actionContext)
        {
            if (actionContext.Request.RequestUri.Scheme != Uri.UriSchemeHttps)
            {
                BaseJsonResult <string> resultMsg = new BaseJsonResult <string>
                {
                    Status  = (int)JsonObjectStatus.HttpRequestError,
                    Message = "请求不合法,请求地址:" + actionContext.Request.RequestUri + "必须是Https请求。",
                    Data    = ""
                };

                actionContext.Response = resultMsg.TryToJson().TryToHttpResponseMessage();
                base.OnAuthorization(actionContext);
            }
            else
            {
                base.OnAuthorization(actionContext);
            }
        }
Ejemplo n.º 30
0
        public HttpResponseMessage RefreshAuthorizationToken(GetTokenArgEntity arg)
        {
            BaseJsonResult <string> resultMsg = null;

            Logger(this.GetType(), "刷新Token-RefreshAuthorizationToken", () =>
            {
                if (this.CheckBaseArgument(arg, out resultMsg))
                {
                    JWTHelper.CheckTokenHasExpiry(arg.UserId, arg.Account);

                    resultMsg = this.GetBaseJsonResult <string>("Token刷新成功", JsonObjectStatus.Success);
                }
            }, e =>
            {
                resultMsg = this.GetBaseJsonResult <string>(JsonObjectStatus.Exception, ",异常信息:" + e.Message);
            });

            return(resultMsg.TryToHttpResponseMessage());
        }