public override OpRes doQuery(object param, GMUser user) { ParamGrandPrix p = (ParamGrandPrix)param; OpRes res = OpRes.op_res_failed; switch (p.m_queryType) { case ParamGrandPrix.QUERY_WEEK_CHAMPION: { m_result1.Clear(); res = queryWeekChampion(user); } break; case ParamGrandPrix.QUERY_MATCH_DAY: { m_result2.Clear(); ParamMatchDay pd = (ParamMatchDay)p.m_param; if (pd.m_isTop100) { res = queryMatchDayTop100(user, pd); m_result2.Sort(sortRank); } else { res = queryMatchDayForSpecialPlayer(user, pd); } } break; } return(res); }
private OpRes queryMatchDayTop100(GMUser user, ParamMatchDay p) { DateTime mint = DateTime.Now, maxt = DateTime.Now; bool res = Tool.splitTimeStr(p.m_matchDay, ref mint, ref maxt); if (!res) { return(OpRes.op_res_time_format_error); } IMongoQuery imq = Query.EQ("matchTime", BsonValue.Create(mint)); return(queryMatchDay(user, imq, 100)); }
protected void onQueryTop100(object sender, EventArgs e) { GMUser user = (GMUser)Session["user"]; ParamGrandPrix param = new ParamGrandPrix(); param.m_queryType = ParamGrandPrix.QUERY_MATCH_DAY; var matchDayParam = new ParamMatchDay(); matchDayParam.m_matchDay = m_time.Text; matchDayParam.m_isTop100 = true; param.m_param = matchDayParam; OpRes res = user.doQuery(param, QueryType.queryTypeGrandPrix); genTable(m_result, res, param, user); }
private OpRes queryMatchDayForSpecialPlayer(GMUser user, ParamMatchDay p) { DateTime mint = DateTime.Now, maxt = DateTime.Now; bool res = Tool.splitTimeStr(p.m_matchDay, ref mint, ref maxt); if (!res) { return(OpRes.op_res_time_format_error); } int playerId = 0; if (!int.TryParse(p.m_playerId, out playerId)) { return(OpRes.op_res_param_not_valid); } IMongoQuery imq1 = Query.LT("matchTime", BsonValue.Create(maxt)); IMongoQuery imq2 = Query.GTE("matchTime", BsonValue.Create(mint)); IMongoQuery imq3 = Query.EQ("playerId", BsonValue.Create(playerId)); var cond = Query.And(imq1, imq2, imq3); return(queryMatchDay(user, cond)); }