コード例 #1
0
        /// <summary>
        /// 载入道具返回
        /// </summary>
        /// <param name="dbi"></param>
        private void loadBack(DbAccessItem dbi)
        {
            if (dbi.Result.ErrCode != 0)
            {
                SvLogger.Error("DB Access Fail : Op=Load Account, ErrMsg={0}, Data={1}.", dbi.Result.ErrMsg, dbi.SpName);
            }
            else
            {
                DataTable dt = dbi.OutDs.Tables[0];
                foreach (DataRow dr in dt.Rows)
                {
                    TAccount t = new TAccount();
                    t.account    = HTBaseFunc.NullToStr(dr["LoginName"]);
                    t.token      = HTBaseFunc.NullToStr(dr["Token"]);
                    t.showName   = HTBaseFunc.NullToStr(dr["ShowName"]);
                    t.power      = HTBaseFunc.NullToInt(dr["Power"]);
                    t.createTime = HTBaseFunc.NullToDateTime(dr["CreateTime"]).ToString("yyyy-MM-dd HH:mm:ss");
                    Account acc = new Account(t);
                    m_dataDic[acc.m_Data.account] = acc;
                }

                DataLoadManager.Instance.AddLoadSuccTableCount();
            }

            OnLoadDataFromDBFinish(dbi.Result.ErrCode == 0);
        }
コード例 #2
0
ファイル: LogicProtect.cs プロジェクト: zjbsean/TM
        /// <summary>
        /// 检查调用保护,返回剩余秒数
        /// </summary>
        /// <param name="campid">匹配ID</param>
        /// <param name="calledOper">调用操作</param>
        /// <param name="allowInterval">允许的间隔,毫秒级</param>
        /// <returns>返回剩余的间隔</returns>
        public int CheckCall(string campid, string calledOper, int allowInterval)
        {
            Hashtable callHash = (Hashtable)_callProtectList[campid];

            if (callHash == null)
            {
                return(0);
            }
            else
            {
                if (callHash.Contains(calledOper))
                {
                    DateTime endCall = HTBaseFunc.NullToDateTime(callHash[calledOper]).AddMilliseconds(allowInterval);
                    DateTime dtNow   = HTBaseFunc.GetTime(0);
                    if (endCall > dtNow)
                    {
                        TimeSpan ts = (TimeSpan)(endCall - dtNow);
                        return((int)ts.TotalMilliseconds);
                    }
                    else
                    {
                        return(0);
                    }
                }
                else
                {
                    return(0);
                }
            }
        }