protected void rptQG_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
            if (string.Compare(e.CommandName, "delete", true) == 0)
            {
                int id = 0;
                int.TryParse(e.CommandArgument.ToString(), out id);

                PredictionGame            qgame = DomainManager.GetObject <PredictionGame>(id);
                BizPredictionGameSettings biz   = TNHelper.GetPredictionGameSettings();
                if (qgame != null)
                {
                    if (biz.PredictionGameID != qgame.Id)
                    {
                        DomainManager.Delete(qgame);
                        Utils.ShowMessage(lblMsgQG, "Xóa bộ đề dự đoán thành công");
                        LoadData();
                    }
                    else
                    {
                        Utils.ShowMessage(lblMsgQG, "Bộ đề này đang được sử dụng trong cấu hình game dự đoán. Bạn không thể xóa.");
                    }
                }
            }
            else if (string.Compare(e.CommandName, "calculate", true) == 0)
            {
                int id = 0;
                int.TryParse(e.CommandArgument.ToString(), out id);

                PredictionGame            qgame = DomainManager.GetObject <PredictionGame>(id);
                BizPredictionGameSettings biz   = TNHelper.GetPredictionGameSettings();
                if (qgame != null)// && qgame.IsUpdateAnswer)
                {
                    TNHelper.CalculatePredcitionGame(qgame);
                    TNHelper.RemoveRankingCaches();
                    Utils.ShowMessage(lblMsgQG, "Tính điểm cho người chơi thành chơi thành công");
                    LoadData();
                }
                else
                {
                    Utils.ShowMessage(lblMsgQG, "Bạn chưa cập nhật trả lời cho tất cả câu hỏi dự đoán. Hãy cập nhật tất cả câu trả lời trước khi tính điểm");
                }
            }
        }