コード例 #1
0
        /// <summary>
        /// 带事务的Update
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="trans">The trans.</param>
        /// <returns></returns>
        /// <remarks>2016/3/9 12:53:43</remarks>
        public bool Update(VipManagerEntity entity, DbTransaction trans = null)
        {
            var       database       = new SqlDatabase(this.ConnectionString);
            DbCommand commandWrapper = database.GetStoredProcCommand("dbo.P_VipManager_Update");

            database.AddInParameter(commandWrapper, "@ManagerId", DbType.Guid, entity.ManagerId);
            database.AddInParameter(commandWrapper, "@VipExp", DbType.Int32, entity.VipExp);
            database.AddInParameter(commandWrapper, "@ReceiveDate", DbType.DateTime, entity.ReceiveDate);
            database.AddInParameter(commandWrapper, "@RowTime", DbType.DateTime, entity.RowTime);
            database.AddInParameter(commandWrapper, "@UpdateTime", DbType.DateTime, entity.UpdateTime);


            int results = 0;

            if (trans != null)
            {
                results = database.ExecuteNonQuery(commandWrapper, trans);
            }
            else
            {
                results = database.ExecuteNonQuery(commandWrapper);
            }

            entity.ManagerId = (System.Guid)database.GetParameterValue(commandWrapper, "@ManagerId");

            return(Convert.ToBoolean(results));
        }
コード例 #2
0
        /// <summary>
        /// 将IDataReader的当前记录读取到VipManagerEntity 对象
        /// </summary>
        /// <param name="reader"></param>
        /// <returns></returns>
        public VipManagerEntity LoadSingleRow(IDataReader reader)
        {
            var obj = new VipManagerEntity();

            obj.ManagerId   = (System.Guid)reader["ManagerId"];
            obj.VipExp      = (System.Int32)reader["VipExp"];
            obj.ReceiveDate = (System.DateTime)reader["ReceiveDate"];
            obj.RowTime     = (System.DateTime)reader["RowTime"];
            obj.UpdateTime  = (System.DateTime)reader["UpdateTime"];

            return(obj);
        }
コード例 #3
0
        /// <summary>
        /// GetById
        /// </summary>
        /// <param name="managerId">managerId</param>
        /// <returns>VipManagerEntity</returns>
        /// <remarks>2016/3/9 12:53:43</remarks>
        public VipManagerEntity GetById(System.Guid managerId)
        {
            var database = new SqlDatabase(this.ConnectionString);

            DbCommand commandWrapper = database.GetStoredProcCommand("P_VipManager_GetById");

            database.AddInParameter(commandWrapper, "@ManagerId", DbType.Guid, managerId);


            VipManagerEntity obj = null;

            using (IDataReader reader = database.ExecuteReader(commandWrapper))
            {
                if (reader.Read())
                {
                    obj = LoadSingleRow(reader);
                }
            }
            return(obj);
        }
コード例 #4
0
ファイル: SendItem.aspx.cs プロジェクト: cool8868/H5Nball
        private string SaveBuyPointShipmentsTx(NbManagerEntity manager, int point, int bonus,
                                               PayChargehistoryEntity payEntity, ManagerMonthcardEntity monthcardEntity, MailBuilder mail,
                                               ManagerChargenumberEntity buyRecord, DicMallitemEntity mallConfig, string zoneId)
        {
            if (point > 0 || bonus > 0)
            {
                var messCode1 = PayCore.Instance.AddPoint(payEntity.Account, point, bonus, EnumChargeSourceType.GmCharge,
                                                          payEntity.BillingId, null, zoneId);
                if (messCode1 != MessageCode.Success)
                {
                    return("增加钻石失败" + point + "," + bonus + "," + (int)messCode1);
                }
                PayChargehistoryMgr.Insert(payEntity, null, zoneId);
            }
            if (monthcardEntity != null)
            {
                if (monthcardEntity.BuyNumber == 1)
                {
                    if (!ManagerMonthcardMgr.Insert(monthcardEntity, null, zoneId))
                    {
                        return("月卡发送失败");
                    }
                }
                else
                {
                    if (!ManagerMonthcardMgr.Update(monthcardEntity, null, zoneId))
                    {
                        return("月卡发送失败");
                    }
                }
            }
            if (!mail.Save(zoneId))
            {
                return("邮件发送失败");
            }

            if (buyRecord.Idx == 0)
            {
                ManagerChargenumberMgr.Insert(buyRecord, null, zoneId);
            }
            else
            {
                ManagerChargenumberMgr.Update(buyRecord, null, zoneId);
            }
            try
            {
                if (manager != null)
                {
                    var curScore   = mallConfig.EffectValue * 10;
                    var vipManager = VipManagerMgr.GetById(manager.Idx, zoneId);
                    if (vipManager != null)
                    {
                        curScore         += vipManager.VipExp;
                        vipManager.VipExp = curScore;
                        VipManagerMgr.Update(vipManager, null, zoneId);
                    }
                    else
                    {
                        vipManager = new VipManagerEntity(manager.Idx, curScore, DateTime.Now, DateTime.Now,
                                                          DateTime.Now);
                        VipManagerMgr.Insert(vipManager, null, zoneId);
                    }

                    var newlevel = CacheFactory.VipdicCache.GetVipLevel(curScore);
                    if (newlevel > manager.VipLevel)
                    {
                        manager.VipLevel = newlevel;
                        ManagerUtil.SaveManagerData(manager, null, null, zoneId);
                    }
                }
            }
            catch (Exception ex)
            {
                SystemlogMgr.Error("ChargeUpVip", ex);
                return(ex.Message);
            }
            return("");
        }
コード例 #5
0
ファイル: PayCore.cs プロジェクト: cool8868/H5Nball
        public static void ChargeAfter(string account, int point, int needPoint, DateTime curTime, decimal cash,
                                       int vipExp)
        {
            try
            {
                PayContinuingMgr.UpdateContinueday(account, point, needPoint, curTime.Date.AddDays(-1), curTime.Date,
                                                   curTime);
            }
            catch (Exception ex)
            {
                SystemlogMgr.Error("ChargeUpContinue", ex);
            }
            var  payUser  = PayUserMgr.GetById(account);
            bool isInsert = false;

            if (payUser == null)
            {
                isInsert = true;
                payUser  = new PayUserEntity(account, 0, 0, cash, DateTime.Now, new byte[0], point, 0);
            }
            else
            {
                payUser.TotalCash  += cash;
                payUser.ChargePoint = point;
            }
            try
            {
                if (isInsert)
                {
                    if (!PayUserMgr.Insert(payUser))
                    {
                        SystemlogMgr.Error("charetUpPayUser", "统计钱失败", "Account:" + account + "_Cash" + cash);
                    }
                }
                else
                {
                    if (!PayUserMgr.Update(payUser))
                    {
                        SystemlogMgr.Error("charetUpPayUser", "统计钱失败", "Account:" + account + "_Cash" + cash);
                    }
                }
            }
            catch (Exception ex)
            {
                SystemlogMgr.Error("charetUpPayUser" + cash, ex);
            }
            var manager = ManagerCore.Instance.GetManager(account);

            try
            {
                if (manager != null)
                {
                    var curScore   = vipExp;
                    var vipManager = VipManagerMgr.GetById(manager.Idx);
                    if (vipManager != null)
                    {
                        curScore         += vipManager.VipExp;
                        vipManager.VipExp = curScore;
                        VipManagerMgr.Update(vipManager);
                    }
                    else
                    {
                        vipManager = new VipManagerEntity(manager.Idx, curScore, DateTime.Now, DateTime.Now,
                                                          DateTime.Now);
                        VipManagerMgr.Insert(vipManager);
                    }

                    var newlevel = CacheFactory.VipdicCache.GetVipLevel(curScore);
                    if (newlevel > manager.VipLevel)
                    {
                        manager.VipLevel = newlevel;
                        ManagerUtil.SaveManagerData(manager);
                        ManagerCore.Instance.DeleteCache(manager.Idx);
                    }
                    // ChatHelper.SendUpdateManagerInfoPop(manager.Idx, payUser.TotalPoint, true, manager.VipLevel);

                    ActivityExThread.Instance.Charge(manager.Idx, account, vipExp);
                    ActivityExThread.Instance.Charge(manager.Idx, vipExp);
                }
            }
            catch (Exception ex)
            {
                SystemlogMgr.Error("ChargeUpVip", ex);
            }
        }
コード例 #6
0
        public static bool Update(VipManagerEntity vipManagerEntity, DbTransaction trans = null, string zoneId = "")
        {
            var provider = new VipManagerProvider(zoneId);

            return(provider.Update(vipManagerEntity, trans));
        }