public override OpRes doQuery(object param, GMUser user)
    {
        ParamGameResultControl p = (ParamGameResultControl)param;

        if (m_games.ContainsKey(p.m_gameId))
        {
            return(m_games[p.m_gameId].doQuery(p, user));
        }
        return(OpRes.op_res_failed);
    }
    public override object getQueryResult(object param, GMUser user)
    {
        ParamGameResultControl p = (ParamGameResultControl)param;

        if (m_games.ContainsKey(p.m_gameId))
        {
            return(m_games[p.m_gameId].getQueryResult());
        }
        return(null);
    }
        protected void genTable(Table table, GMUser user)
        {
            TableRow tr = new TableRow();

            table.Rows.Add(tr);

            int i = 0;

            for (; i < s_head.Length; i++)
            {
                TableCell td = new TableCell();
                tr.Cells.Add(td);
                td.Text = s_head[i];
            }

            ParamGameResultControl param = new ParamGameResultControl();

            param.m_gameId = GameId.shcd;
            OpRes res = user.doQuery(param, QueryType.queryTypeGameResultControl);
            List <GameResultShcd> qresult
                = (List <GameResultShcd>)user.getQueryResult(param, QueryType.queryTypeGameResultControl);

            for (i = 0; i < qresult.Count; i++)
            {
                GameResultShcd r = qresult[i];
                m_content[0] = r.m_insertTime;
                m_content[1] = StrName.s_shcdArea[r.m_result];
                m_content[2] = StrName.s_shcdRoomName[r.m_roomId];

                tr = new TableRow();
                table.Rows.Add(tr);
                for (int j = 0; j < s_head.Length; j++)
                {
                    TableCell td = new TableCell();
                    tr.Cells.Add(td);
                    td.Text = m_content[j];
                }
            }
        }