Пример #1
0
        // 积分合并的DB操作  m1:积分并入的会员卡;m2:积分清空的会员卡;
        private bool InsertBonusMergerHistory(string m1id, string m2id)
        {
            bool res = false;

            // 积分 b1:是会员M1的积分;b2:是会员M2的积分
            int b1,b2;

            using (UnitOfWork uow = new UnitOfWork(DBSession.DataLayer))
            {
                DateTime updateTime = DateTime.Now;
                // 积分兑换历史记录
                this.bonusExHis1 = new t_Bonus_Exchange_History(uow);
                this.bonusExHis2 = new t_Bonus_Exchange_History(uow);
                // 会员信息
                t_Member_Info m1 = memberLogic.GetMemberInfoByMemberID(m1id, uow);
                t_Member_Info m2 = memberLogic.GetMemberInfoByMemberID(m2id, uow);
                b1 = m1.Bouns;
                b2 = m2.Bouns;

                // 会员1信息
                this.bonusExHis1.Member_ID = m1;
                this.bonusExHis1.Member_No = m1.Member_No;

                this.bonusExHis2.Member_ID = m2;
                this.bonusExHis2.Member_No = m2.Member_No;

                // 兑换日期
                this.bonusExHis1.Exchange_DateTime = updateTime;
                this.bonusExHis2.Exchange_DateTime = updateTime;

                // 合并积分数
                this.bonusExHis1.Bonus_Num = -1 * b2; // 增加积分
                this.bonusExHis2.Bonus_Num = b2; // 扣除积分
                // 合并后剩余积分
                m1.Bouns = b1 + b2;
                m2.Bouns = 0;

                // 兑换金额
                this.bonusExHis1.Money_Num = 0;
                this.bonusExHis2.Money_Num = 0;

                // 合并后剩余金额
                this.bonusExHis1.Surplus_Money = m1.Balance;
                this.bonusExHis2.Surplus_Money = m2.Balance;

                // 兑换类别:积分合并
                this.bonusExHis1.Bonus_Type = BonusExchangeType.BonusMerger;
                this.bonusExHis2.Bonus_Type = BonusExchangeType.BonusMerger;

                // 备注
                this.bonusExHis1.Comment = this.memoRemark1.Text;
                this.bonusExHis2.Comment = this.memoRemark2.Text;

                //数据状态-正常
                this.bonusExHis1.State = (int)RecordState.Normal;
                this.bonusExHis2.State = (int)RecordState.Normal;
                // 更新者
                this.bonusExHis1.Operator_No = SysParam.OperatorNo;
                this.bonusExHis2.Operator_No = SysParam.OperatorNo;
                m1.Operator_No = SysParam.OperatorNo;
                m2.Operator_No = SysParam.OperatorNo;
                // 更新时间
                m1.Update_DateTime = updateTime;
                m2.Update_DateTime = updateTime;

                try
                {
                    uow.ExplicitBeginTransaction();
                    uow.CommitChanges();

                    hisId = this.bonusExHis1.Exchange_History_ID;

                    uow.ExplicitCommitTransaction();

                    // 积分合并成功
                    ShowInfoMsgBox(MessageConst.info_bonusMegerSuccess);
                    res = true;
                }
                catch
                {
                    // 积分合并失败
                    uow.ExplicitRollbackTransaction();
                    ShowWarnMsgBox(MessageConst.errMsg_BonusMegerFaild);
                }
            }

            return res;
        }
Пример #2
0
        private bool InsertBonusExchangeHistory()
        {
            bool res = false;

            using (UnitOfWork uow = new UnitOfWork(DBSession.DataLayer))
            {
                DateTime updateTime = DateTime.Now;
                // 积分兑换历史记录
                this.bonuxExHis = new t_Bonus_Exchange_History(uow);
                // 会员信息
                this.memberInfo = memberLogic.GetMemberInfoByMemberID(this.MemberId, uow);

                this.bonuxExHis.Member_ID = this.memberInfo;
                this.bonuxExHis.Member_No = this.memberInfo.Member_No;
                this.bonuxExHis.Operator_No = SysParam.OperatorNo;

                // 兑换日期
                this.bonuxExHis.Exchange_DateTime = updateTime;

                // 兑换积分数
                int tempBonus = Convert.ToInt32(this.spnBonus.Value);
                this.bonuxExHis.Bonus_Num = tempBonus;
                // 兑换后剩余积分
                this.bonuxExHis.Surplus_Bonus = this.Bonus - tempBonus;
                this.memberInfo.Bouns = this.Bonus - tempBonus;

                // 兑换金额
                double tempBalance = tempBonus * SysParam.storeInfo.Bonus_to_Money_Ratio;
                this.bonuxExHis.Money_Num = tempBalance;
                this.memberInfo.Balance = tempBalance;

                // 兑换后剩余金额
                this.bonuxExHis.Surplus_Money = this.memberInfo.Balance + tempBalance;
                this.memberInfo.Balance += tempBalance;

                // 兑换类别:积分兑换金额
                this.bonuxExHis.Bonus_Type = BonusExchangeType.MoneyExchange;

                // 备注
                this.bonuxExHis.Comment = this.memoRemark.Text;

                //数据状态-正常
                this.bonuxExHis.State = (int)RecordState.Normal;
                // 更新者
                this.bonuxExHis.Operator_No = SysParam.OperatorNo;

                // 更新时间
                this.memberInfo.Update_DateTime = updateTime;
                // 更新者
                this.memberInfo.Operator_No = SysParam.OperatorNo;

                try
                {
                    uow.ExplicitBeginTransaction();
                    uow.CommitChanges();

                    hisId = this.bonuxExHis.Exchange_History_ID;

                    uow.ExplicitCommitTransaction();

                    // 兑换成功
                    ShowInfoMsgBox(MessageConst.info_BonusExchangeSucces);
                    res = true;
                }
                catch
                {
                    // 积分兑换失败
                    uow.ExplicitRollbackTransaction();
                    ShowWarnMsgBox(MessageConst.errMsg_BonusExchangeFaild);
                }
            }

            return res;
        }