示例#1
0
        private void ReceiveVouchers(System.Web.HttpContext context)
        {
            string text = "";

            if (context.Request["voucherid"] != null)
            {
                text = context.Request["voucherid"].ToString();
            }
            Member member = HiContext.Current.User as Member;

            if (member == null)
            {
                this.message = "你还未登陆,请登陆";
                return;
            }
            int voucherid = 0;

            if (!int.TryParse(text, out voucherid))
            {
                this.message = "该链接无效";
                return;
            }

            VoucherInfo voucherInfo = VoucherHelper.GetVoucher(voucherid);

            if (voucherInfo == null || voucherInfo.SendType != 3 || voucherInfo.StartTime.Date > DateTime.Now.Date || voucherInfo.ClosingTime < DateTime.Now.Date)
            {
                this.message = "该链接无效";
                return;
            }

            int count = VoucherHelper.GetCountVoucherItem(voucherid, member.UserId);

            if (count == 0)
            {
                string claimCode = System.Guid.NewGuid().ToString().Replace("-", "").Substring(0, 15);
                claimCode = Sign(claimCode, "UTF-8").Substring(8, 16);
                string          password        = System.Guid.NewGuid().ToString().Replace("-", "").Substring(0, 15);
                DateTime        deadline        = DateTime.Now.AddDays(voucherInfo.Validity);
                VoucherItemInfo voucherItemInfo = new VoucherItemInfo(voucherid, claimCode, password, new int?(member.UserId), member.Username, member.Email, System.DateTime.Now, deadline);

                IList <VoucherItemInfo> voucherItemList = new List <VoucherItemInfo>();
                voucherItemList.Add(voucherItemInfo);
                if (VoucherHelper.SendClaimCodes(voucherItemList))
                {
                    this.message = "你已成功领取该优惠券";
                }

                else
                {
                    this.message = "操作失败";
                }
            }
            else
            {
                this.message = "您已经领过该优惠券";
            }
        }
示例#2
0
        /// <summary>
        /// 注册赠送现金券
        /// </summary>
        /// <param name="members"></param>
        protected void RegistSendVoucher(IList <Member> members)
        {
            IList <VoucherInfo> voucherList = VoucherHelper.GetVoucherBySendType(2);

            IList <VoucherItemInfo> list = new System.Collections.Generic.List <VoucherItemInfo>();

            string claimCode = string.Empty;
            string password  = string.Empty;

            if (voucherList.Count > 0)
            {
                foreach (Member member in members)
                {
                    foreach (VoucherInfo voucher in voucherList)
                    {
                        VoucherItemInfo item = new VoucherItemInfo();
                        if (VoucherHelper.GetCountVoucherItem(voucher.VoucherId, member.UserId) > 0)
                        {
                            continue;
                        }
                        else
                        {
                            claimCode = System.Guid.NewGuid().ToString().Replace("-", "").Substring(0, 15);
                            claimCode = Sign(claimCode, "UTF-8").Substring(8, 16);
                            password  = System.Guid.NewGuid().ToString().Replace("-", "").Substring(0, 15);
                            item      = new VoucherItemInfo(voucher.VoucherId, claimCode, password, new int?(member.UserId), member.Username, member.Email, System.DateTime.Now, DateTime.Now.AddDays(voucher.Validity));
                            list.Add(item);
                        }
                    }
                }
            }

            if (list.Count > 0)
            {
                try
                {
                    VoucherHelper.SendClaimCodes(list);
                }

                catch
                {
                }
            }
        }
示例#3
0
        private void OrderSendVoucher(IList <OrderInfo> orderList)
        {
            IList <VoucherInfo> voucherList = VoucherHelper.GetVoucherBySendType(1);

            IList <VoucherItemInfo> list = new System.Collections.Generic.List <VoucherItemInfo>();

            string claimCode = string.Empty;
            string password  = string.Empty;

            if (voucherList.Count > 0)
            {
                foreach (OrderInfo orderInfo in orderList)
                {
                    foreach (VoucherInfo voucher in voucherList)
                    {
                        VoucherItemInfo item = new VoucherItemInfo();
                        ///不存在拆单
                        if (String.IsNullOrEmpty(orderInfo.SourceOrderId))
                        {
                            if (VoucherHelper.GetCountVoucherItem(voucher.VoucherId, orderInfo.OrderId) > 0)
                            {
                                continue;
                            }
                            else
                            {
                                if (orderInfo.Amount >= Convert.ToDecimal(voucher.SendTypeItem))
                                {
                                    claimCode = System.Guid.NewGuid().ToString().Replace("-", "").Substring(0, 15);
                                    claimCode = Sign(claimCode, "UTF-8").Substring(8, 16);
                                    password  = System.Guid.NewGuid().ToString().Replace("-", "").Substring(0, 15);
                                    item      = new VoucherItemInfo(orderInfo.OrderId, voucher.VoucherId, claimCode, password, new int?(orderInfo.UserId), orderInfo.Username, orderInfo.EmailAddress, System.DateTime.Now, DateTime.Now.AddDays(voucher.Validity));
                                    list.Add(item);
                                }
                            }
                        }
                        //拆单
                        else
                        {
                            if (VoucherHelper.GetCountVoucherItem(voucher.VoucherId, orderInfo.SourceOrderId) > 0)
                            {
                                continue;
                            }
                            else
                            {
                                decimal sourceAmount = OrderHelper.GetOrderAmount(orderInfo.SourceOrderId);
                                if (sourceAmount >= Convert.ToDecimal(voucher.SendTypeItem))
                                {
                                    claimCode = System.Guid.NewGuid().ToString().Replace("-", "").Substring(0, 15);
                                    claimCode = Sign(claimCode, "UTF-8").Substring(8, 16);
                                    password  = System.Guid.NewGuid().ToString().Replace("-", "").Substring(0, 15);
                                    item      = new VoucherItemInfo(orderInfo.SourceOrderId, voucher.VoucherId, claimCode, password, new int?(orderInfo.UserId), orderInfo.Username, orderInfo.EmailAddress, System.DateTime.Now, DateTime.Now.AddDays(voucher.Validity));
                                    list.Add(item);
                                }
                            }
                        }
                    }
                }
            }

            if (list.Count > 0)
            {
                try
                {
                    VoucherHelper.SendClaimCodes(list);
                }

                catch
                {
                }
            }
        }