decimal CalculateOrderOptionPrice(OrderLookupItemInfo item) { if (item.CalculateMode.Value == 2) { return((this.GetCartTotalPrice() * decimal.Parse(item.AppendMoney.ToString())) / 100M); } return(decimal.Parse(item.AppendMoney.ToString())); }
/// <summary> /// 订单选项 /// </summary> /// <param name="context"></param> void ProcessorOrderOption(HttpContext context) { StringBuilder builder = new StringBuilder(); if (!string.IsNullOrEmpty(context.Request.Params["LookupItemId"])) { int lookupItemId = int.Parse(context.Request["LookupItemId"], NumberStyles.None); decimal num2 = decimal.Parse(context.Request["carTotal"]); builder.Append("{"); builder.Append("\"Status\":\"OK\","); OrderLookupItemInfo orderLookupItem = ShoppingProcessor.GetOrderLookupItem(lookupItemId, string.Empty); if (orderLookupItem != null) { builder.AppendFormat("\"Name\":\"{0}\",", orderLookupItem.Name); decimal money = 0M; if (orderLookupItem.AppendMoney.HasValue) { if (decimal.Parse(orderLookupItem.CalculateMode.ToString()) == 2M) { money = (num2 * orderLookupItem.AppendMoney.Value) / 100M; } else { money = orderLookupItem.AppendMoney.Value; } } builder.AppendFormat("\"AppendMoney\":\"{0}\",", Globals.FormatMoney(money)); builder.AppendFormat("\"AppendMoney_v\":\"{0}\",", money); builder.AppendFormat("\"IsUserInputRequired\":\"{0}\",", orderLookupItem.IsUserInputRequired ? "true" : "false"); if (string.IsNullOrEmpty(orderLookupItem.UserInputTitle)) { builder.AppendFormat("\"UserInputTitle\":\"\",", new object[0]); } else { builder.AppendFormat("\"UserInputTitle\":\"" + orderLookupItem.UserInputTitle.Replace("\"", "").Replace(@"\/", "/") + "\",", new object[0]); } if (string.IsNullOrEmpty(orderLookupItem.UserInputContent)) { builder.Append("\"UserInputContent\":\"\""); } else { builder.Append("\"UserInputContent\":\"" + orderLookupItem.UserInputContent.Replace("\"", "").Replace(@"\/", "/") + "\""); } } builder.Append("}"); } context.Response.ContentType = "text/plain"; context.Response.Write(builder); }
private void btnCreate_Click(object sender, EventArgs e) { decimal num; if ((radlCalculateMode.SelectedValue == 1) && (string.IsNullOrEmpty(txtAppendMoney.Text) || !decimal.TryParse(txtAppendMoney.Text.Trim(), out num))) { ShowMsg("附加金额不能为空,只能为非负数字,大小限制在1000万以内", false); } else { decimal num2; if ((radlCalculateMode.SelectedValue == 2) && (string.IsNullOrEmpty(txtPercentage.Text) || !decimal.TryParse(txtPercentage.Text.Trim(), out num2))) { ShowMsg("购物车金额百分比不能为空,只能为非负数字,大小限制在100以内", false); } else { OrderLookupItemInfo lookupItem = GetLookupItem(); if (lookupItem.IsUserInputRequired && string.IsNullOrEmpty(lookupItem.UserInputTitle)) { ShowMsg("用户填写信息的标题不能为空", false); } else { ValidationResults results = Hishop.Components.Validation.Validation.Validate <OrderLookupItemInfo>(lookupItem, new string[] { "ValOrderLookupItemInfo" }); string msg = string.Empty; if (!results.IsValid) { foreach (ValidationResult result in (IEnumerable <ValidationResult>)results) { msg = msg + Formatter.FormatErrorMessage(result.Message); } ShowMsg(msg, false); } else if (!OrderHelper.CreateOrderLookupItem(lookupItem)) { ShowMsg("未知错误", false); } else { BindData(); ShowMsg("可选内容添加成功", true); } } } } }
private OrderLookupItemInfo GetLookupItem() { OrderLookupItemInfo info = new OrderLookupItemInfo(); info.Name = txtName.Text.Trim(); info.CalculateMode = new int?(radlCalculateMode.SelectedValue); info.UserInputTitle = txtUserInputTitle.Text.Trim(); if (!((radlCalculateMode.SelectedValue != 1) || string.IsNullOrEmpty(txtAppendMoney.Text.Trim()))) { info.AppendMoney = new decimal?(decimal.Parse(txtAppendMoney.Text.Trim())); } if (!((radlCalculateMode.SelectedValue != 2) || string.IsNullOrEmpty(txtPercentage.Text.Trim()))) { info.AppendMoney = new decimal?(decimal.Parse(txtPercentage.Text.Trim())); } info.Remark = txtRemark.Text.Trim(); info.IsUserInputRequired = radlUserInput.SelectedValue; info.LookupListId = lookupListId; return(info); }
private void grdOrderLookupItems_DataBound(object sender, EventArgs e) { for (int i = 0; i < grdOrderLookupItems.Rows.Count; i++) { GridViewRow row = grdOrderLookupItems.Rows[i]; Label label = (Label)row.FindControl("lblPercentageAppendMoney"); Label label2 = (FormatedMoneyLabel)row.FindControl("lblAppendMoney"); int lookupItemId = (int)grdOrderLookupItems.DataKeys[i].Value; OrderLookupItemInfo orderLookupItem = OrderHelper.GetOrderLookupItem(lookupItemId); if (orderLookupItem.CalculateMode == 2) { label.Text = orderLookupItem.AppendMoney.Value.ToString("F", CultureInfo.InvariantCulture) + "%"; label.Visible = true; label2.Visible = false; } else { label.Visible = false; label2.Visible = true; } } }
public static bool UpdateOrderLookupItem(OrderLookupItemInfo orderLookupItem) { Globals.EntityCoding(orderLookupItem, true); return(SalesProvider.Instance().UpdateOrderLookupItem(orderLookupItem)); }
public abstract bool AddOrderLookupItem(OrderLookupItemInfo orderLookupItem);
public abstract bool UpdateOrderLookupItem(OrderLookupItemInfo orderLookupItem);