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)); } }
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)); } }
public BaseJsonResult AddCartLines(IEnumerable <AddCartLineInputModel> inputModels) { var response = _cartManager.AddLineItemsToCart(CurrentStorefront, CurrentVisitorContext, inputModels); var result = new BaseJsonResult(response.ServiceProviderResult); return(result); }
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); }
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)); } }
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)); } }
/// <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)); } }
/// <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)); } }
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)); }
/// <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); }
public HttpResponseMessage GetUserName(string userId, string name) { BaseJsonResult <string> resultMsg = new BaseJsonResult <string> { Status = GlobalErrorCodes.Success, Data = "V2-" + userId + ":" + name, Message = "操作成功" }; return(resultMsg.TryToHttpResponseMessage()); }
public HttpResponseMessage GetUserName(string id) { BaseJsonResult <string> resultMsg = new BaseJsonResult <string> { Status = GlobalErrorCodes.Success, Data = "V1-" + id, Message = "操作成功" }; return(resultMsg.TryToHttpResponseMessage()); }
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); }
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); }
public BaseJsonResult AddCartLine(AddCartLineInputModel inputModel) { var response = _cartManager.AddLineItemsToCart( CurrentStorefront, CurrentVisitorContext, new List <AddCartLineInputModel> { inputModel }); var result = new BaseJsonResult(response.ServiceProviderResult); return(result); }
/// <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); }
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)); }
/// <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); }
/// <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); }
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); } }
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()); }