Example #1
0
        private static void ReduceDeduct(string orderId, decimal refundAmount, Member member)
        {
            int referralDeduct = SettingsManager.GetSiteSettings(HiContext.Current.User.UserId).ReferralDeduct;

            if (((referralDeduct > 0) && member.ReferralUserId.HasValue) && (member.ReferralUserId.Value > 0))
            {
                IUser user = Users.GetUser(member.ReferralUserId.Value, false);
                if ((user != null) && (user.UserRole == UserRole.Underling))
                {
                    Member member2 = user as Member;
                    if ((member.ParentUserId == member2.ParentUserId) && member2.IsOpenBalance)
                    {
                        decimal           num2           = member2.Balance - ((refundAmount * referralDeduct) / 100M);
                        BalanceDetailInfo balanceDetails = new BalanceDetailInfo();
                        balanceDetails.UserId    = member2.UserId;
                        balanceDetails.UserName  = member2.Username;
                        balanceDetails.TradeDate = DateTime.Now;
                        balanceDetails.TradeType = TradeTypes.ReferralDeduct;
                        balanceDetails.Expenses  = new decimal?((refundAmount * referralDeduct) / 100M);
                        balanceDetails.Balance   = num2;
                        balanceDetails.Remark    = string.Format("退回提成因为{0}的订单{1}已退款", member.Username, orderId);
                        UnderlingProvider.Instance().AddUnderlingBalanceDetail(balanceDetails);
                    }
                }
            }
        }
Example #2
0
 private void btnAddBalance_Click(object sender, EventArgs e)
 {
     if (!RoleHelper.GetUserPrivileges(HiContext.Current.User.Username).Contains(0x232a) && (HiContext.Current.User.UserRole != UserRole.SiteManager))
     {
         this.ShowMsg("权限不够", false);
     }
     else
     {
         decimal num;
         int     length = 0;
         if (this.txtReCharge.Text.Trim().IndexOf(".") > 0)
         {
             length = this.txtReCharge.Text.Trim().Substring(this.txtReCharge.Text.Trim().IndexOf(".") + 1).Length;
         }
         int userId = int.Parse(this.currentUserId.Value);
         if (!decimal.TryParse(this.txtReCharge.Text.Trim(), out num) || (length > 2))
         {
             this.ShowMsg("本次充值要给当前客户加款的金额只能是数值,且不能超过2位小数", false);
         }
         else if ((num < -10000000M) || (num > 10000000M))
         {
             this.ShowMsg("金额大小必须在正负1000万之间", false);
         }
         else
         {
             Member user = Users.GetUser(userId, false) as Member;
             if ((user == null) || !user.IsOpenBalance)
             {
                 this.ShowMsg("本次充值已失败,该用户不存在或预付款还没有开通", false);
             }
             else
             {
                 decimal           num4   = num + user.Balance;
                 BalanceDetailInfo target = new BalanceDetailInfo();
                 target.UserId    = userId;
                 target.UserName  = user.Username;
                 target.TradeDate = DateTime.Now;
                 target.TradeType = TradeTypes.BackgroundAddmoney;
                 target.Income    = new decimal?(num);
                 target.Balance   = num4;
                 target.Remark    = Globals.HtmlEncode(this.txtRemark.Text.Trim());
                 ValidationResults results = Hishop.Components.Validation.Validation.Validate <BalanceDetailInfo>(target, new string[] { "ValBalanceDetail" });
                 string            msg     = string.Empty;
                 if (!results.IsValid)
                 {
                     foreach (ValidationResult result in (IEnumerable <ValidationResult>)results)
                     {
                         msg = msg + Formatter.FormatErrorMessage(result.Message);
                     }
                     this.ShowMsg(msg, false);
                 }
                 else if (MemberHelper.AddBalance(target, num))
                 {
                     this.txtReCharge.Text = "";
                     this.ReBind(false);
                 }
             }
         }
     }
 }
 void Notify_Finished(object sender, FinishedEventArgs e)
  {
      DateTime now = DateTime.Now;
      TradeTypes selfhelpInpour = TradeTypes.SelfhelpInpour;
      Member user = Users.GetUser(this.InpourRequest.UserId, false) as Member;
      decimal num = user.Balance + this.InpourRequest.InpourBlance;
      BalanceDetailInfo balanceDetails = new BalanceDetailInfo();
      balanceDetails.UserId = this.InpourRequest.UserId;
      balanceDetails.UserName = user.Username;
      balanceDetails.TradeDate = now;
      balanceDetails.TradeType = selfhelpInpour;
      balanceDetails.Income = new decimal?(this.InpourRequest.InpourBlance);
      balanceDetails.Balance = num;
      if (this.paymode != null)
      {
          balanceDetails.Remark = "充值支付方式:" + this.paymode.Name;
      }
      if (PersonalHelper.Recharge(balanceDetails, this.InpourRequest.InpourId))
      {
          Users.ClearUserCache(user);
          this.ResponseStatus(true, "success");
      }
      else
      {
          PersonalHelper.RemoveInpourRequest(this.InpourId);
          this.ResponseStatus(false, "fail");
      }
  }
        private void btnAddBalance_Click(object sender, System.EventArgs e)
        {
            ManagerHelper.CheckPrivilege(Privilege.MemberReCharge);
            int num = 0;

            if (this.txtReCharge.Text.Trim().IndexOf(".") > 0)
            {
                num = this.txtReCharge.Text.Trim().Substring(this.txtReCharge.Text.Trim().IndexOf(".") + 1).Length;
            }
            int     userId = int.Parse(this.currentUserId.Value);
            decimal num2;

            if (!decimal.TryParse(this.txtReCharge.Text.Trim(), out num2) || num > 2)
            {
                this.ShowMsg("本次充值要给当前客户加款的金额只能是数值,且不能超过2位小数", false);
                return;
            }
            if (num2 < -10000000m || num2 > 10000000m)
            {
                this.ShowMsg("金额大小必须在正负1000万之间", false);
                return;
            }
            Member member = Users.GetUser(userId, false) as Member;

            if (member == null || !member.IsOpenBalance)
            {
                this.ShowMsg("本次充值已失败,该用户不存在或预付款还没有开通", false);
                return;
            }
            decimal           balance           = num2 + member.Balance;
            BalanceDetailInfo balanceDetailInfo = new BalanceDetailInfo();

            balanceDetailInfo.UserId    = userId;
            balanceDetailInfo.UserName  = member.Username;
            balanceDetailInfo.TradeDate = System.DateTime.Now;
            balanceDetailInfo.TradeType = TradeTypes.BackgroundAddmoney;
            balanceDetailInfo.Income    = new decimal?(num2);
            balanceDetailInfo.Balance   = balance;
            balanceDetailInfo.Remark    = Globals.HtmlEncode(this.txtRemark.Text.Trim());
            ValidationResults validationResults = Validation.Validate <BalanceDetailInfo>(balanceDetailInfo, new string[]
            {
                "ValBalanceDetail"
            });
            string text = string.Empty;

            if (!validationResults.IsValid)
            {
                foreach (ValidationResult current in (System.Collections.Generic.IEnumerable <ValidationResult>)validationResults)
                {
                    text += Formatter.FormatErrorMessage(current.Message);
                }
                this.ShowMsg(text, false);
                return;
            }
            if (MemberHelper.AddBalance(balanceDetailInfo, num2))
            {
                this.txtReCharge.Text = "";
                this.ReBind(false);
            }
        }
Example #5
0
        private void Notify_Finished(object sender, FinishedEventArgs e)
        {
            DateTime          now               = DateTime.Now;
            TradeTypes        tradeType         = TradeTypes.SelfhelpInpour;
            MemberInfo        user              = Users.GetUser(this.InpourRequest.UserId);
            decimal           balance           = user.Balance + this.InpourRequest.InpourBlance;
            BalanceDetailInfo balanceDetailInfo = new BalanceDetailInfo();

            balanceDetailInfo.UserId    = this.InpourRequest.UserId;
            balanceDetailInfo.UserName  = user.UserName;
            balanceDetailInfo.TradeDate = now;
            balanceDetailInfo.TradeType = tradeType;
            balanceDetailInfo.Income    = this.InpourRequest.InpourBlance;
            balanceDetailInfo.Balance   = balance;
            balanceDetailInfo.InpourId  = this.InpourRequest.InpourId;
            if (this.paymode != null)
            {
                balanceDetailInfo.Remark = "充值支付方式:" + this.paymode.Name;
            }
            if (MemberProcessor.Recharge(balanceDetailInfo))
            {
                this.ResponseStatus(true, "success");
            }
            else
            {
                MemberProcessor.RemoveInpourRequest(this.InpourId);
                this.ResponseStatus(false, "fail");
            }
        }
Example #6
0
 private void CloseReturnBalance(int userId, string orderId, decimal balanceAmount)
 {
     if (balanceAmount > decimal.Zero)
     {
         Users.ClearUserCache(userId, "");
         Hidistro.Entities.Members.MemberInfo user = Users.GetUser(userId);
         BalanceDetailInfo balanceDetailInfo       = new BalanceDetailInfo();
         balanceDetailInfo.TradeDate       = DateTime.Now;
         balanceDetailInfo.TradeType       = TradeTypes.RefundOrder;
         balanceDetailInfo.UserId          = userId;
         balanceDetailInfo.UserName        = user.UserName;
         balanceDetailInfo.Balance         = user.Balance + balanceAmount;
         balanceDetailInfo.Expenses        = null;
         balanceDetailInfo.Income          = balanceAmount;
         balanceDetailInfo.InpourId        = "";
         balanceDetailInfo.ManagerUserName = "";
         balanceDetailInfo.Remark          = "订单" + orderId + "自动关闭,还原抵扣的余额";
         if (new BaseDao().Add(balanceDetailInfo, null) > 0)
         {
             user.Balance += balanceAmount;
             MemberProcessor.UpdateMember(user);
             Users.ClearUserCache(user.UserId, user.SessionId);
         }
     }
 }
Example #7
0
        void Notify_Finished(object sender, FinishedEventArgs e)
        {
            DateTime          now            = DateTime.Now;
            TradeTypes        selfhelpInpour = TradeTypes.SelfhelpInpour;
            Distributor       user           = Users.GetUser(InpourRequest.UserId, false) as Distributor;
            decimal           num            = user.Balance + InpourRequest.InpourBlance;
            BalanceDetailInfo balanceDetails = new BalanceDetailInfo();

            balanceDetails.UserId    = InpourRequest.UserId;
            balanceDetails.UserName  = user.Username;
            balanceDetails.TradeDate = now;
            balanceDetails.TradeType = selfhelpInpour;
            balanceDetails.Income    = new decimal?(InpourRequest.InpourBlance);
            balanceDetails.Balance   = num;
            if (paymode != null)
            {
                balanceDetails.Remark = "充值支付方式:" + paymode.Name;
            }
            if (SubsiteStoreHelper.AddBalanceDetail(balanceDetails, InpourId))
            {
                Users.ClearUserCache(user);
                ResponseStatus(true, "success");
            }
            else
            {
                SubsiteStoreHelper.RemoveInpourRequest(InpourId);
                ResponseStatus(false, "fail");
            }
        }
Example #8
0
        private void notify_PaidToMerchant(NotifyQuery sender)
        {
            DateTime   now = DateTime.Now;
            TradeTypes selfHelpRecharge = TradeTypes.SelfHelpRecharge;
            decimal    num = PaymentModeManage.GetAccountSummary(this.RechargeRequest.UserId).
                             AccountAmount + this.RechargeRequest.RechargeBlance;
            BalanceDetailInfo balanceDetails = new BalanceDetailInfo
            {
                JournalNumber = this.RechargeRequest.RechargeId,
                UserId        = this.RechargeRequest.UserId,
                TradeDate     = now,
                TradeType     = selfHelpRecharge,
                Income        = this.RechargeRequest.RechargeBlance,
                Balance       = num
            };

            if (this.paymode != null)
            {
                balanceDetails.Remark = "充值支付方式:" + this.paymode.Name;
            }
            if (PaymentModeManage.AddBalanceDetail(balanceDetails))
            {
                this.ResponseStatus(true, "success");
            }
            else
            {
                PaymentModeManage.RemoveRechargeRequest(this.RechargeId);
                this.ResponseStatus(false, "fail");
            }
        }
Example #9
0
        private void Notify_Finished(InpourRequestInfo inpourRequest)
        {
            DateTime          now               = DateTime.Now;
            TradeTypes        tradeType         = TradeTypes.SelfhelpInpour;
            MemberInfo        user              = Users.GetUser(inpourRequest.UserId);
            decimal           balance           = user.Balance + inpourRequest.InpourBlance;
            BalanceDetailInfo balanceDetailInfo = new BalanceDetailInfo();

            balanceDetailInfo.UserId    = inpourRequest.UserId;
            balanceDetailInfo.UserName  = user.UserName;
            balanceDetailInfo.TradeDate = now;
            balanceDetailInfo.TradeType = tradeType;
            balanceDetailInfo.Income    = inpourRequest.InpourBlance;
            balanceDetailInfo.Balance   = balance;
            balanceDetailInfo.InpourId  = inpourRequest.InpourId;
            balanceDetailInfo.Remark    = "充值支付方式:微信支付";
            if (MemberProcessor.Recharge(balanceDetailInfo))
            {
                base.Response.Write("success");
            }
            else
            {
                base.Response.Write("success");
            }
        }
Example #10
0
        private static void ReduceDeduct(string orderId, decimal refundAmount, Member member)
        {
            int referralDeduct = HiContext.Current.SiteSettings.ReferralDeduct;

            if (referralDeduct > 0 && member.ReferralUserId.HasValue && member.ReferralUserId.Value > 0)
            {
                IUser user = Users.GetUser(member.ReferralUserId.Value, false);
                if (user != null && user.UserRole == UserRole.Member)
                {
                    Member member2 = user as Member;
                    if (member.ParentUserId == member2.ParentUserId && member2.IsOpenBalance)
                    {
                        decimal           balance           = member2.Balance - refundAmount * referralDeduct / 100m;
                        BalanceDetailInfo balanceDetailInfo = new BalanceDetailInfo();
                        balanceDetailInfo.UserId    = member2.UserId;
                        balanceDetailInfo.UserName  = member2.Username;
                        balanceDetailInfo.TradeDate = DateTime.Now;
                        balanceDetailInfo.TradeType = TradeTypes.ReferralDeduct;
                        balanceDetailInfo.Expenses  = new decimal?(refundAmount * referralDeduct / 100m);
                        balanceDetailInfo.Balance   = balance;
                        balanceDetailInfo.Remark    = string.Format("退回提成因为{0}的订单{1}已退款", member.Username, orderId);
                        MemberProvider.Instance().InsertBalanceDetail(balanceDetailInfo);
                    }
                }
            }
        }
Example #11
0
        static void ReduceDeduct(OrderInfo order, Member member)
        {
            int referralDeduct = HiContext.Current.SiteSettings.ReferralDeduct;

            if (((referralDeduct > 0) && member.ReferralUserId.HasValue) && (member.ReferralUserId.Value > 0))
            {
                IUser user = Users.GetUser(member.ReferralUserId.Value, false);
                if ((user != null) && (user.UserRole == UserRole.Member))
                {
                    Member member2 = user as Member;
                    if ((member.ParentUserId == member2.ParentUserId) && member2.IsOpenBalance)
                    {
                        decimal           num2          = member2.Balance - ((order.RefundAmount * referralDeduct) / 100M);
                        BalanceDetailInfo balanceDetail = new BalanceDetailInfo();
                        balanceDetail.UserId    = member2.UserId;
                        balanceDetail.UserName  = member2.Username;
                        balanceDetail.TradeDate = DateTime.Now;
                        balanceDetail.TradeType = TradeTypes.ReferralDeduct;
                        balanceDetail.Expenses  = new decimal?((order.RefundAmount * referralDeduct) / 100M);
                        balanceDetail.Balance   = num2;
                        balanceDetail.Remark    = string.Format("退回提成因为'{0}'的订单{1}已退款", order.Username, order.OrderId);
                        MemberProvider.Instance().InsertBalanceDetail(balanceDetail);
                    }
                }
            }
        }
Example #12
0
        public override bool AddBalanceDetail(BalanceDetailInfo balanceDetails)
        {
            bool result;

            if (null == balanceDetails)
            {
                result = false;
            }
            else
            {
                string text = "INSERT INTO distro_BalanceDetails(UserId,UserName,DistributorUserId, TradeDate, TradeType, Income, Balance, Remark, InpourId) VALUES (@UserId, @UserName,@DistributorUserId, @TradeDate, @TradeType, @Income, @Balance, @Remark, @InpourId)";
                System.Data.Common.DbCommand sqlStringCommand = this.database.GetSqlStringCommand(text);
                this.database.AddInParameter(sqlStringCommand, "UserId", System.Data.DbType.Int32, balanceDetails.UserId);
                this.database.AddInParameter(sqlStringCommand, "UserName", System.Data.DbType.String, balanceDetails.UserName);
                this.database.AddInParameter(sqlStringCommand, "DistributorUserId", System.Data.DbType.Int32, HiContext.Current.SiteSettings.UserId.Value);
                this.database.AddInParameter(sqlStringCommand, "TradeDate", System.Data.DbType.DateTime, balanceDetails.TradeDate);
                this.database.AddInParameter(sqlStringCommand, "TradeType", System.Data.DbType.Int32, (int)balanceDetails.TradeType);
                this.database.AddInParameter(sqlStringCommand, "Income", System.Data.DbType.Currency, balanceDetails.Income);
                this.database.AddInParameter(sqlStringCommand, "Balance", System.Data.DbType.Currency, balanceDetails.Balance);
                this.database.AddInParameter(sqlStringCommand, "Remark", System.Data.DbType.String, balanceDetails.Remark);
                this.database.AddInParameter(sqlStringCommand, "InpourId", System.Data.DbType.String, balanceDetails.InpourId);
                result = (this.database.ExecuteNonQuery(sqlStringCommand) >= 1);
            }
            return(result);
        }
Example #13
0
        private void Notify_Finished(object sender, FinishedEventArgs e)
        {
            System.DateTime now = System.DateTime.Now;
            Hidistro.Membership.Context.Distributor distributor = Hidistro.Membership.Context.Users.GetUser(this.InpourRequest.UserId, false) as Hidistro.Membership.Context.Distributor;
            decimal           balance           = distributor.Balance + this.InpourRequest.InpourBlance;
            BalanceDetailInfo balanceDetailInfo = new BalanceDetailInfo();

            balanceDetailInfo.UserId    = this.InpourRequest.UserId;
            balanceDetailInfo.UserName  = distributor.Username;
            balanceDetailInfo.TradeDate = now;
            balanceDetailInfo.TradeType = TradeTypes.SelfhelpInpour;
            balanceDetailInfo.Income    = new decimal?(this.InpourRequest.InpourBlance);
            balanceDetailInfo.Balance   = balance;
            balanceDetailInfo.InpourId  = this.InpourRequest.InpourId;
            if (this.paymode != null)
            {
                balanceDetailInfo.Remark = "充值支付方式:" + this.paymode.Name;
            }
            if (SubsiteStoreHelper.Recharge(balanceDetailInfo))
            {
                Hidistro.Membership.Context.Users.ClearUserCache(distributor);
                this.ResponseStatus(true, "success");
            }
            else
            {
                SubsiteStoreHelper.RemoveInpourRequest(this.InpourId);
                this.ResponseStatus(false, "fail");
            }
        }
Example #14
0
        private void btnReChargeOK_Click(object sender, EventArgs e)
        {
            decimal num;
            int     length = 0;

            if (txtReCharge.Text.Trim().IndexOf(".") > 0)
            {
                length = txtReCharge.Text.Trim().Substring(txtReCharge.Text.Trim().IndexOf(".") + 1).Length;
            }
            if (!(decimal.TryParse(txtReCharge.Text.Trim(), out num) && (length <= 2)))
            {
                ShowMsg("本次充值要给当前客户加款的金额只能是数值,且不能超过2位小数", false);
            }
            else if ((num < -10000000M) || (num > 10000000M))
            {
                ShowMsg("金额大小必须在正负1000万之间", false);
            }
            else
            {
                Distributor user = Users.GetUser(userId, false) as Distributor;
                if (user == null)
                {
                    ShowMsg("此分销商已经不存在", false);
                }
                else
                {
                    decimal           num3  = num + user.Balance;
                    BalanceDetailInfo info2 = new BalanceDetailInfo();
                    info2.UserId    = userId;
                    info2.UserName  = user.Username;
                    info2.TradeDate = DateTime.Now;
                    info2.TradeType = TradeTypes.BackgroundAddmoney;
                    info2.Income    = new decimal?(num);
                    info2.Balance   = num3;
                    info2.Remark    = Globals.HtmlEncode(txtRemarks.Text.Trim());
                    BalanceDetailInfo target  = info2;
                    ValidationResults results = Hishop.Components.Validation.Validation.Validate <BalanceDetailInfo>(target, new string[] { "ValBalanceDetail" });
                    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 (DistributorHelper.AddBalance(target))
                        {
                            ShowMsg(string.Format("本次充值已成功,充值金额:{0}", num), true);
                        }
                        txtReCharge.Text        = string.Empty;
                        txtRemarks.Text         = string.Empty;
                        lblUseableBalance.Money = num3;
                    }
                }
            }
        }
Example #15
0
        private void btnReChargeOK_Click(object sender, System.EventArgs e)
        {
            int num = 0;

            if (this.txtReCharge.Text.Trim().IndexOf(".") > 0)
            {
                num = this.txtReCharge.Text.Trim().Substring(this.txtReCharge.Text.Trim().IndexOf(".") + 1).Length;
            }
            decimal num2;

            if (!decimal.TryParse(this.txtReCharge.Text.Trim(), out num2) || num > 2)
            {
                this.ShowMsg("本次充值要给当前客户加款的金额只能是数值,且不能超过2位小数", false);
                return;
            }
            if (num2 < -10000000m || num2 > 10000000m)
            {
                this.ShowMsg("金额大小必须在正负1000万之间", false);
                return;
            }
            Hidistro.Membership.Context.Distributor distributor = Hidistro.Membership.Context.Users.GetUser(this.userId, false) as Hidistro.Membership.Context.Distributor;
            if (distributor == null)
            {
                this.ShowMsg("此分销商已经不存在", false);
                return;
            }
            decimal           num3 = num2 + distributor.Balance;
            BalanceDetailInfo balanceDetailInfo = new BalanceDetailInfo();

            balanceDetailInfo.UserId    = this.userId;
            balanceDetailInfo.UserName  = distributor.Username;
            balanceDetailInfo.TradeDate = System.DateTime.Now;
            balanceDetailInfo.TradeType = TradeTypes.BackgroundAddmoney;
            balanceDetailInfo.Income    = new decimal?(num2);
            balanceDetailInfo.Balance   = num3;
            balanceDetailInfo.Remark    = Globals.HtmlEncode(this.txtRemarks.Text.Trim());
            ValidationResults validationResults = Validation.Validate <BalanceDetailInfo>(balanceDetailInfo, new string[]
            {
                "ValBalanceDetail"
            });
            string text = string.Empty;

            if (!validationResults.IsValid)
            {
                foreach (ValidationResult current in (System.Collections.Generic.IEnumerable <ValidationResult>)validationResults)
                {
                    text += Formatter.FormatErrorMessage(current.Message);
                }
                this.ShowMsg(text, false);
                return;
            }
            if (DistributorHelper.AddBalance(balanceDetailInfo, num2))
            {
                this.Page.ClientScript.RegisterClientScriptBlock(base.GetType(), "success", string.Format("<script>alert(\"本次充值已成功,充值金额:{0}\");window.location.href=\"DistributorReCharge.aspx?userId={1}\"</script>", num2, this.userId));
            }
            this.txtReCharge.Text        = string.Empty;
            this.txtRemarks.Text         = string.Empty;
            this.lblUseableBalance.Money = num3;
        }
        private void btnReChargeOK_Click(object sender, EventArgs e)
        {
            decimal num;
            int     length = 0;

            if (this.txtReCharge.Text.Trim().IndexOf(".") > 0)
            {
                length = this.txtReCharge.Text.Trim().Substring(this.txtReCharge.Text.Trim().IndexOf(".") + 1).Length;
            }
            if (!decimal.TryParse(this.txtReCharge.Text.Trim(), out num) || (length > 2))
            {
                this.ShowMsg("本次充值要给当前客户加款的金额只能是数值,且不能超过2位小数", false);
            }
            else if ((num < -10000000M) || (num > 10000000M))
            {
                this.ShowMsg("金额大小必须在正负1000万之间", false);
            }
            else
            {
                Distributor user = Users.GetUser(this.userId, false) as Distributor;
                if (user == null)
                {
                    this.ShowMsg("此分销商已经不存在", false);
                }
                else
                {
                    decimal           num3   = num + user.Balance;
                    BalanceDetailInfo target = new BalanceDetailInfo();
                    target.UserId    = this.userId;
                    target.UserName  = user.Username;
                    target.TradeDate = DateTime.Now;
                    target.TradeType = TradeTypes.BackgroundAddmoney;
                    target.Income    = new decimal?(num);
                    target.Balance   = num3;
                    target.Remark    = Globals.HtmlEncode(this.txtRemarks.Text.Trim());
                    ValidationResults results = Hishop.Components.Validation.Validation.Validate <BalanceDetailInfo>(target, new string[] { "ValBalanceDetail" });
                    string            msg     = string.Empty;
                    if (!results.IsValid)
                    {
                        foreach (ValidationResult result in (IEnumerable <ValidationResult>)results)
                        {
                            msg = msg + Formatter.FormatErrorMessage(result.Message);
                        }
                        this.ShowMsg(msg, false);
                    }
                    else
                    {
                        if (DistributorHelper.AddBalance(target, num))
                        {
                            this.Page.ClientScript.RegisterClientScriptBlock(base.GetType(), "success", string.Format("<script>alert(\"本次充值已成功,充值金额:{0}\");window.location.href=\"DistributorReCharge.aspx?userId={1}\"</script>", num, this.userId));
                        }
                        this.txtReCharge.Text        = string.Empty;
                        this.txtRemarks.Text         = string.Empty;
                        this.lblUseableBalance.Money = num3;
                    }
                }
            }
        }
Example #17
0
 private void btnConfirmPay_Click(object sender, EventArgs e)
 {
     if (string.IsNullOrEmpty(this.txtTradePassword.Text))
     {
         this.ShowMsg("请输入交易密码", false);
     }
     else
     {
         int num;
         int.TryParse(base.Request["PayMode"], out num);
         SubsiteStoreHelper.GetPaymentMode(num);
         if (((decimal)this.lblUseableBalance.Money) < ((decimal)this.lblTotalPrice.Money))
         {
             this.ShowMsg("您的预付款金额不足", false);
         }
         else
         {
             Distributor user = SubsiteStoreHelper.GetDistributor();
             if ((user.Balance - user.RequestBalance) < this.purchaseOrder.GetPurchaseTotal())
             {
                 this.ShowMsg("您的预付款金额不足", false);
             }
             else
             {
                 BalanceDetailInfo balance = new BalanceDetailInfo();
                 balance.UserId     = user.UserId;
                 balance.UserName   = user.Username;
                 balance.TradeType  = TradeTypes.Consume;
                 balance.TradeDate  = DateTime.Now;
                 balance.Expenses   = new decimal?(this.purchaseOrder.GetPurchaseTotal());
                 balance.Balance    = user.Balance - this.purchaseOrder.GetPurchaseTotal();
                 balance.Remark     = string.Format("采购单{0}的付款", this.purchaseOrder.PurchaseOrderId);
                 user.TradePassword = this.txtTradePassword.Text;
                 if (Users.ValidTradePassword(user))
                 {
                     if (!SubsiteSalesHelper.ConfirmPay(balance, this.purchaseOrder))
                     {
                         this.ShowMsg("付款失败", false);
                     }
                     else
                     {
                         PurchaseDebitNote note = new PurchaseDebitNote();
                         note.NoteId          = Globals.GetGenerateId();
                         note.PurchaseOrderId = this.purchaseOrderId;
                         note.Operator        = HiContext.Current.User.Username;
                         note.Remark          = "分销商采购单预付款支付成功";
                         SubsiteSalesHelper.SavePurchaseDebitNote(note);
                         this.ShowMsg("采购单预付款支付成功", true);
                     }
                 }
                 else
                 {
                     this.ShowMsg("交易密码错误", false);
                 }
             }
         }
     }
 }
Example #18
0
 private void btnConfirmPay_Click(object sender, EventArgs e)
 {
     if (string.IsNullOrEmpty(this.txtTradePassword.Text))
     {
         this.ShowMsg("请输入交易密码", false);
     }
     else if (((decimal)this.lblUseableBalance.Money) < ((decimal)this.lblTotalPrice.Money))
     {
         this.ShowMsg("您的预付款金额不足", false);
     }
     else
     {
         Distributor user = SubsiteStoreHelper.GetDistributor();
         if ((user.Balance - user.RequestBalance) < ((decimal)this.lblTotalPrice.Money))
         {
             this.ShowMsg("您的预付款金额不足", false);
         }
         else
         {
             BalanceDetailInfo balance = new BalanceDetailInfo();
             balance.UserId     = user.UserId;
             balance.UserName   = user.Username;
             balance.TradeType  = TradeTypes.Consume;
             balance.TradeDate  = DateTime.Now;
             balance.Expenses   = new decimal?((decimal)this.lblTotalPrice.Money);
             balance.Balance    = user.Balance - ((decimal)this.lblTotalPrice.Money);
             balance.Remark     = " 批量付款的采购单编号:" + this.purchaseorderIds.Replace(',', ' ');
             user.TradePassword = this.txtTradePassword.Text;
             if (Users.ValidTradePassword(user))
             {
                 if (!SubsiteSalesHelper.BatchConfirmPay(balance, this.purchaseorderIds))
                 {
                     this.ShowMsg("付款失败", false);
                 }
                 else
                 {
                     int num = 0;
                     foreach (string str in this.purchaseorderIds.Split(new char[] { ',' }))
                     {
                         PurchaseDebitNote note = new PurchaseDebitNote();
                         note.NoteId          = Globals.GetGenerateId() + num;
                         note.PurchaseOrderId = str;
                         note.Operator        = HiContext.Current.User.Username;
                         note.Remark          = "分销商采购单预付款支付成功";
                         SubsiteSalesHelper.SavePurchaseDebitNote(note);
                         num++;
                     }
                     this.PaySucceess.Visible = true;
                 }
             }
             else
             {
                 this.ShowMsg("交易密码错误", false);
             }
         }
     }
 }
Example #19
0
 public static bool AddBalance(BalanceDetailInfo balanceDetails)
 {
     if (null == balanceDetails)
     {
         return(false);
     }
     EventLogs.WriteOperationLog(Privilege.DistributorReCharge, string.Format(CultureInfo.InvariantCulture, "给分销商\"{0}\"添加预付款\"{1}\"", new object[] { balanceDetails.UserName, balanceDetails.Balance }));
     return(DistributorProvider.Instance().InsertBalanceDetail(balanceDetails, null));
 }
        private void btnAddBalance_Click(object sender, EventArgs e)
        {
            decimal num;
            int     length = 0;

            if (txtReCharge.Text.Trim().IndexOf(".") > 0)
            {
                length = txtReCharge.Text.Trim().Substring(txtReCharge.Text.Trim().IndexOf(".") + 1).Length;
            }
            int userId = int.Parse(currentUserId.Value);

            if (!(decimal.TryParse(txtReCharge.Text.Trim(), out num) && (length <= 2)))
            {
                ShowMsg("本次充值要给当前客户加款的金额只能是数值,且不能超过2位小数", false);
            }
            else if ((num < -10000000M) || (num > 10000000M))
            {
                ShowMsg("金额大小必须在正负1000万之间", false);
            }
            else
            {
                Member user = Users.GetUser(userId, false) as Member;
                if (!((user != null) && user.IsOpenBalance))
                {
                    ShowMsg("本次充值已失败,该用户不存在或预付款还没有开通", false);
                }
                else
                {
                    decimal           num4  = num + user.Balance;
                    BalanceDetailInfo info2 = new BalanceDetailInfo();
                    info2.UserId    = userId;
                    info2.UserName  = user.Username;
                    info2.TradeDate = DateTime.Now;
                    info2.TradeType = TradeTypes.BackgroundAddmoney;
                    info2.Income    = new decimal?(num);
                    info2.Balance   = num4;
                    info2.Remark    = Globals.HtmlEncode(txtRemark.Text.Trim());
                    BalanceDetailInfo target  = info2;
                    ValidationResults results = Hishop.Components.Validation.Validation.Validate <BalanceDetailInfo>(target, new string[] { "ValBalanceDetail" });
                    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 (MemberHelper.AddBalance(target))
                    {
                        txtReCharge.Text = "";
                        ReBind(false);
                    }
                }
            }
        }
Example #21
0
        public static bool AddUnderlingBalanceDetail(BalanceDetailInfo balanceDetails)
        {
            bool flag = UnderlingProvider.Instance().AddUnderlingBalanceDetail(balanceDetails);

            if (flag)
            {
                Users.ClearUserCache(Users.GetUser(balanceDetails.UserId));
            }
            return(flag);
        }
Example #22
0
        public static bool AddUnderlingBalanceDetail(BalanceDetailInfo balanceDetails)
        {
            bool result;

            if (result = UnderlingProvider.Instance().AddUnderlingBalanceDetail(balanceDetails))
            {
                Users.ClearUserCache(Users.GetUser(balanceDetails.UserId));
            }
            return(result);
        }
Example #23
0
        public static bool Recharge(BalanceDetailInfo balanceDetails, string InpourId)
        {
            bool flag = PersonalProvider.Instance().AddBalanceDetail(balanceDetails);

            if (flag)
            {
                PersonalProvider.Instance().RemoveInpourRequest(InpourId);
            }
            return(flag);
        }
        public static bool Recharge(BalanceDetailInfo balanceDetails)
        {
            bool flag = SubsiteStoreProvider.Instance().IsRecharge(balanceDetails.InpourId);

            if (!flag)
            {
                flag = SubsiteStoreProvider.Instance().AddBalanceDetail(balanceDetails);
                SubsiteStoreProvider.Instance().RemoveInpourRequest(balanceDetails.InpourId);
            }
            return(flag);
        }
Example #25
0
        private static void UpdateUserAccount(OrderInfo order)
        {
            int num = order.UserId;

            if (num == 1100)
            {
                num = 0;
            }
            IUser user = Users.GetUser(num, false);

            if (user != null && user.UserRole == UserRole.Member)
            {
                Member        member        = user as Member;
                UserPointInfo userPointInfo = new UserPointInfo();
                userPointInfo.OrderId   = order.OrderId;
                userPointInfo.UserId    = member.UserId;
                userPointInfo.TradeDate = DateTime.Now;
                userPointInfo.TradeType = UserPointTradeType.Bounty;
                userPointInfo.Increased = new int?(order.Points);
                userPointInfo.Points    = order.Points + member.Points;
                int arg_A2_0 = userPointInfo.Points;
                if (userPointInfo.Points < 0)
                {
                    userPointInfo.Points = 2147483647;
                }
                SalesProvider.Instance().AddMemberPoint(userPointInfo);
                int referralDeduct = HiContext.Current.SiteSettings.ReferralDeduct;
                if (referralDeduct > 0 && member.ReferralUserId.HasValue && member.ReferralUserId.Value > 0)
                {
                    IUser user2 = Users.GetUser(member.ReferralUserId.Value, false);
                    if (user2 != null && user2.UserRole == UserRole.Member)
                    {
                        Member member2 = user2 as Member;
                        if (member.ParentUserId == member2.ParentUserId && member2.IsOpenBalance)
                        {
                            decimal           balance           = member2.Balance + order.GetTotal() * referralDeduct / 100m;
                            BalanceDetailInfo balanceDetailInfo = new BalanceDetailInfo();
                            balanceDetailInfo.UserId    = member2.UserId;
                            balanceDetailInfo.UserName  = member2.Username;
                            balanceDetailInfo.TradeDate = DateTime.Now;
                            balanceDetailInfo.TradeType = TradeTypes.ReferralDeduct;
                            balanceDetailInfo.Income    = new decimal?(order.GetTotal() * referralDeduct / 100m);
                            balanceDetailInfo.Balance   = balance;
                            balanceDetailInfo.Remark    = string.Format("提成来自{0}的订单{1}", order.Username, order.OrderId);
                            MemberProvider.Instance().InsertBalanceDetail(balanceDetailInfo);
                        }
                    }
                }
                SalesProvider.Instance().UpdateUserAccount(order.GetTotal(), order.UserId);
                int historyPoint = SalesProvider.Instance().GetHistoryPoint(member.UserId);
                SalesProvider.Instance().ChangeMemberGrade(member.UserId, member.GradeId, historyPoint);
                Users.ClearUserCache(user);
            }
        }
Example #26
0
        public static bool Recharge(BalanceDetailInfo balanceDetails)
        {
            bool result;

            if (!(result = SubsiteStoreProvider.Instance().IsRecharge(balanceDetails.InpourId)))
            {
                result = SubsiteStoreProvider.Instance().AddBalanceDetail(balanceDetails);
                SubsiteStoreProvider.Instance().RemoveInpourRequest(balanceDetails.InpourId);
            }
            return(result);
        }
Example #27
0
		public BalanceDetailInfo GetBalanceDetailInfoOfInpurId(string inpourId)
		{
			DbCommand sqlStringCommand = base.database.GetSqlStringCommand("SELECT * FROM [dbo].[Hishop_BalanceDetails] WHERE InpourId=@InpourId");
			base.database.AddInParameter(sqlStringCommand, "InpourId", DbType.String, inpourId);
			BalanceDetailInfo result = null;
			using (IDataReader objReader = base.database.ExecuteReader(sqlStringCommand))
			{
				result = DataHelper.ReaderToModel<BalanceDetailInfo>(objReader);
			}
			return result;
		}
Example #28
0
        public static bool Recharge(BalanceDetailInfo balanceDetails)
        {
            InpourRequestDao inpourRequestDao = new InpourRequestDao();
            bool             flag             = inpourRequestDao.IsRecharge(balanceDetails.InpourId);

            if (!flag)
            {
                flag = new BalanceDetailDao().InsertBalanceDetail(balanceDetails);
                inpourRequestDao.RemoveInpourRequest(balanceDetails.InpourId);
            }
            return(flag);
        }
Example #29
0
        static void UpdateUserAccount(OrderInfo order)
        {
            int userId = order.UserId;

            if (userId == 0x44c)
            {
                userId = 0;
            }
            IUser user = Users.GetUser(userId, false);

            if ((user != null) && (user.UserRole == UserRole.Member))
            {
                Member        member = user as Member;
                UserPointInfo point  = new UserPointInfo();
                point.OrderId   = order.OrderId;
                point.UserId    = member.UserId;
                point.TradeDate = DateTime.Now;
                point.TradeType = UserPointTradeType.Bounty;
                point.Increased = new int?(order.GetTotalPoints());
                point.Points    = order.GetTotalPoints() + member.Points;
                if ((point.Points > 0x7fffffff) || (point.Points < 0))
                {
                    point.Points = 0x7fffffff;
                }
                SalesProvider.Instance().AddMemberPoint(point);
                int referralDeduct = HiContext.Current.SiteSettings.ReferralDeduct;
                if (((referralDeduct > 0) && member.ReferralUserId.HasValue) && (member.ReferralUserId.Value > 0))
                {
                    IUser user2 = Users.GetUser(member.ReferralUserId.Value, false);
                    if ((user2 != null) && (user2.UserRole == UserRole.Member))
                    {
                        Member member2 = user2 as Member;
                        if ((member.ParentUserId == member2.ParentUserId) && member2.IsOpenBalance)
                        {
                            decimal           num3          = member2.Balance + ((order.GetTotal() * referralDeduct) / 100M);
                            BalanceDetailInfo balanceDetail = new BalanceDetailInfo();
                            balanceDetail.UserId    = member2.UserId;
                            balanceDetail.UserName  = member2.Username;
                            balanceDetail.TradeDate = DateTime.Now;
                            balanceDetail.TradeType = TradeTypes.ReferralDeduct;
                            balanceDetail.Income    = new decimal?((order.GetTotal() * referralDeduct) / 100M);
                            balanceDetail.Balance   = num3;
                            balanceDetail.Remark    = string.Format("提成来自'{0}'的订单{1}", order.Username, order.OrderId);
                            MemberProvider.Instance().InsertBalanceDetail(balanceDetail);
                        }
                    }
                }
                SalesProvider.Instance().UpdateUserAccount(order.GetTotal(), order.UserId);
                int historyPoint = SalesProvider.Instance().GetHistoryPoint(member.UserId);
                SalesProvider.Instance().ChangeMemberGrade(member.UserId, member.GradeId, historyPoint);
                Users.ClearUserCache(user);
            }
        }
Example #30
0
        private void btnConfirmPay_Click(object sender, System.EventArgs e)
        {
            if (string.IsNullOrEmpty(this.txtTradePassword.Text))
            {
                this.ShowMsg("请输入交易密码", false);
                return;
            }
            int modeId;

            int.TryParse(base.Request["PayMode"], out modeId);
            SubsiteStoreHelper.GetPaymentMode(modeId);
            if ((decimal)this.lblUseableBalance.Money < (decimal)this.lblTotalPrice.Money)
            {
                this.ShowMsg("您的预付款金额不足", false);
                return;
            }
            Hidistro.Membership.Context.Distributor distributor = SubsiteStoreHelper.GetDistributor();
            if (distributor.Balance - distributor.RequestBalance < this.purchaseOrder.GetPurchaseTotal())
            {
                this.ShowMsg("您的预付款金额不足", false);
                return;
            }
            BalanceDetailInfo balanceDetailInfo = new BalanceDetailInfo();

            balanceDetailInfo.UserId    = distributor.UserId;
            balanceDetailInfo.UserName  = distributor.Username;
            balanceDetailInfo.TradeType = TradeTypes.Consume;
            balanceDetailInfo.TradeDate = System.DateTime.Now;
            balanceDetailInfo.Expenses  = new decimal?(this.purchaseOrder.GetPurchaseTotal());
            balanceDetailInfo.Balance   = distributor.Balance - this.purchaseOrder.GetPurchaseTotal();
            balanceDetailInfo.Remark    = string.Format("采购单{0}的付款", this.purchaseOrder.PurchaseOrderId);
            distributor.TradePassword   = this.txtTradePassword.Text;
            if (!Hidistro.Membership.Context.Users.ValidTradePassword(distributor))
            {
                this.ShowMsg("交易密码错误", false);
                return;
            }
            if (!SubsiteSalesHelper.ConfirmPay(balanceDetailInfo, this.purchaseOrder))
            {
                this.ShowMsg("付款失败", false);
                return;
            }
            SubsiteSalesHelper.SavePurchaseDebitNote(new PurchaseDebitNote
            {
                NoteId          = Globals.GetGenerateId(),
                PurchaseOrderId = this.purchaseOrderId,
                Operator        = Hidistro.Membership.Context.HiContext.Current.User.Username,
                Remark          = "分销商采购单预付款支付成功"
            });
            this.ShowMsg("采购单预付款支付成功", true);
        }