コード例 #1
0
        private void btnAddDiscount_Click(object sender, EventArgs e)
        {
            decimal amount   = 0m;
            decimal discount = 0m;
            int     rate     = 0;
            string  str      = string.Empty;

            if (ValidateValues(out amount, out discount, out rate))
            {
                DiscountValueType selectedValue = radioValueType.SelectedValue;
                if (!addpromoteSales.IsValid)
                {
                    ShowMsg(addpromoteSales.CurrentErrors, false);
                }
                else
                {
                    FullDiscountInfo target = new FullDiscountInfo();
                    target.Name        = addpromoteSales.Item.Name;
                    target.Description = addpromoteSales.Item.Description;
                    target.Amount      = amount;
                    target.ValueType   = selectedValue;

                    switch (selectedValue)
                    {
                    case DiscountValueType.Amount:
                    {
                        target.DiscountValue = discount;
                        break;
                    }

                    case DiscountValueType.Percent:
                    {
                        target.DiscountValue = rate;
                        break;
                    }
                    }
                    target.MemberGradeIds = chklMemberGrade.SelectedValue;
                    if (chklMemberGrade.SelectedValue.Count <= 0)
                    {
                        str = str + Formatter.FormatErrorMessage("适合的客户必须选择一个");
                    }
                    ValidationResults results = Hishop.Components.Validation.Validation.Validate <FullDiscountInfo>(target, new string[] { "ValPromotion" });
                    if (!results.IsValid)
                    {
                        foreach (ValidationResult result in (IEnumerable <ValidationResult>)results)
                        {
                            str = str + Formatter.FormatErrorMessage(result.Message);
                        }
                    }
                    if (!string.IsNullOrEmpty(str))
                    {
                        ShowMsg(str, false);
                    }
                    else
                    {
                        PromotionActionStatus status = SubsitePromoteHelper.AddPromotion(target);
                        switch (status)
                        {
                        case PromotionActionStatus.Success:
                            txtAmount.Text        = string.Empty;
                            txtDiscountValue.Text = string.Empty;
                            addpromoteSales.Reset();
                            ShowMsg("成功添加了促销活动--满额打折", true);
                            return;

                        case PromotionActionStatus.DuplicateName:
                            ShowMsg("已存在此名称的促销活动", false);
                            return;
                        }
                        if (status == PromotionActionStatus.SameCondition)
                        {
                            ShowMsg("已经存在相同满足条件的优惠活动", false);
                        }
                        else
                        {
                            txtAmount.Text        = string.Empty;
                            txtDiscountValue.Text = string.Empty;
                            addpromoteSales.Reset();
                            ShowMsg("添加促销活动--满额打折错误", false);
                        }
                    }
                }
            }
        }
コード例 #2
0
 public abstract PromotionActionStatus CreateFullDiscount(FullDiscountInfo promote);
コード例 #3
0
        private void grdPromoteSales_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            SiteSettings siteSettings = SettingsManager.GetSiteSettings(HiContext.Current.User.UserId);

            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                int       num     = int.Parse(grdPromoteSales.DataKeys[e.Row.RowIndex].Value.ToString());
                Label     label   = (Label)e.Row.FindControl("lblPromoteType");
                Label     label2  = (Label)e.Row.FindControl("lblPromoteTypeName");
                Literal   literal = (Literal)e.Row.FindControl("ltrPromotionInfo");
                HyperLink link    = (HyperLink)e.Row.FindControl("hpkPromotionProduct");
                HyperLink link2   = (HyperLink)e.Row.FindControl("hpkPromotion");
                link2.NavigateUrl = "http://" + siteSettings.SiteUrl + Globals.ApplicationPath + string.Format("/FavourableDetails.aspx?activityId={0}", num);
                link2.Target      = "_blank";
                Label          label3 = (Label)e.Row.FindControl("lblmemberGrades");
                IList <string> promoteMemberGrades = SubsitePromoteHelper.GetPromoteMemberGrades(num);
                string         str = string.Empty;
                foreach (string str2 in promoteMemberGrades)
                {
                    str = str + str2 + ",";
                }
                str         = str.Remove(str.Length - 1);
                label3.Text = str;
                if (int.Parse(label.Text, CultureInfo.InvariantCulture) == 2)
                {
                    label2.Text = "满额打折";
                    FullDiscountInfo fullDiscountInfo = SubsitePromoteHelper.GetFullDiscountInfo(num);
                    string           str3             = (fullDiscountInfo.ValueType == DiscountValueType.Amount) ? "折扣金额" : "百分比折扣";
                    literal.Text = string.Concat(new object[] { "满足金额:", Globals.FormatMoney(fullDiscountInfo.Amount), "&nbsp;折扣类型:", str3, "&nbsp;折扣值:", decimal.Round(decimal.Parse(fullDiscountInfo.DiscountValue.ToString()), 2) });
                }
                if (int.Parse(label.Text, CultureInfo.InvariantCulture) == 3)
                {
                    FullFreeInfo fullFreeInfo = SubsitePromoteHelper.GetFullFreeInfo(num);
                    label2.Text = "满额免费用";
                    string str4 = "&nbsp;免费项目:";
                    if (fullFreeInfo.OptionFeeFree)
                    {
                        str4 = str4 + "订单选项费,";
                    }
                    if (fullFreeInfo.ServiceChargeFree)
                    {
                        str4 = str4 + "订单支付手续费,";
                    }
                    if (fullFreeInfo.ShipChargeFree)
                    {
                        str4 = str4 + "订单运费,";
                    }
                    literal.Text = "满足金额:" + Globals.FormatMoney(fullFreeInfo.Amount) + str4.Remove(str4.Length - 1);
                }
                if (int.Parse(label.Text, CultureInfo.InvariantCulture) == 4)
                {
                    label2.Text = "买几送几";
                    PurchaseGiftInfo purchaseGiftInfo = SubsitePromoteHelper.GetPurchaseGiftInfo(num);
                    literal.Text     = string.Concat(new object[] { "购买数量:", purchaseGiftInfo.BuyQuantity, "&nbsp;赠送数量:", purchaseGiftInfo.GiveQuantity });
                    link.Visible     = true;
                    link.NavigateUrl = Globals.ApplicationPath + "/Shopadmin/promotion/MyPromotionProducts.aspx?ActiveId=" + num;
                }
                if (int.Parse(label.Text, CultureInfo.InvariantCulture) == 5)
                {
                    label2.Text = "批发打折";
                    WholesaleDiscountInfo wholesaleDiscountInfo = SubsitePromoteHelper.GetWholesaleDiscountInfo(num);
                    literal.Text     = string.Concat(new object[] { "购买数量:", wholesaleDiscountInfo.Quantity, "&nbsp;折扣值:", wholesaleDiscountInfo.DiscountValue });
                    link.Visible     = true;
                    link.NavigateUrl = Globals.ApplicationPath + "/Shopadmin/promotion/MyPromotionProducts.aspx?ActiveId=" + num;
                }
            }
        }