Example #1
0
        private void btnx_MatchStatus_Click(object sender, EventArgs e)
        {
            int nStatusID = 0;

            if (sender == btnx_Schedule)
            {
                nStatusID = Common.STATUS_SCHEDULE;
            }
            else if (sender == btnx_StartList)
            {
                nStatusID = Common.STATUS_STARTLIST;
            }
            else if (sender == btnx_Running)
            {
                nStatusID = Common.STATUS_RUNNING;
            }
            else if (sender == btnx_Suspend)
            {
                nStatusID = Common.STATUS_SUSPEND;
            }
            else if (sender == btnx_Unofficial)
            {
                nStatusID = Common.STATUS_UNOFFICIAL;
            }
            else if (sender == btnx_Official)
            {
                nStatusID = Common.STATUS_OFFICIAL;
            }
            else if (sender == btnx_Revision)
            {
                nStatusID = Common.STATUS_REVISION;
            }
            else if (sender == btnx_Canceled)
            {
                nStatusID = Common.STATUS_CANCELED;
            }
            else
            {
                return;
            }

            Int32 nResult = OVRDataBaseUtils.ChangeMatchStatus(
                Common.g_nMatchID, nStatusID, Common.g_DataBaseCon, Common.g_Plugin);

            //晋级比赛
            if (sender == btnx_Official)
            {
                //淘汰赛晋级
                OVRDataBaseUtils.AutoProgressMatch(Common.g_nMatchID, Common.g_DataBaseCon, Common.g_Plugin);

                //小组赛计分计算
                Common.dbCalGroupResult(Common.g_nMatchID);
            }

            Common.dbMatchModifyTimeSet();
            RefreshAll();
        }
        private void UpdateMatchStatus()
        {
            InitStatusBtn();

            int iMatchID = GVAR.Str2Int(m_CCurMatch.MatchID);

            switch (m_CCurMatch.MatchStatus)
            {
            case GVAR.STATUS_SCHEDULE:
            {
                EnalbeMatchCtrl(true);
                EnableScoreBtn(false);
                btnx_StartList.Enabled = true;
                btnx_Schedule.Checked  = true;
                btnStatus.Text         = btnx_Schedule.Text;
                btnStatus.ForeColor    = System.Drawing.SystemColors.ControlText;
                break;
            }

            case GVAR.STATUS_ON_COURT:
            {
                EnalbeMatchCtrl(true);
                EnableScoreBtn(false);
                btnx_Running.Enabled   = true;
                btnx_StartList.Checked = true;
                btnStatus.Text         = btnx_StartList.Text;
                btnStatus.ForeColor    = System.Drawing.SystemColors.ControlText;
                break;
            }

            case GVAR.STATUS_RUNNING:
            {
                EnalbeMatchCtrl(true);
                EnableScoreBtn(true);
                btnx_Suspend.Enabled    = true;
                btnx_Unofficial.Enabled = true;
                btnx_Running.Checked    = true;
                btnStatus.Text          = btnx_Running.Text;
                btnStatus.ForeColor     = System.Drawing.Color.Red;

                GVAR.g_ManageDB.CheckMatchStat(int.Parse(m_CCurMatch.MatchID));

                break;
            }

            case GVAR.STATUS_SUSPEND:
            {
                EnalbeMatchCtrl(true);
                EnableScoreBtn(false);
                btnx_Running.Enabled = true;
                btnx_Suspend.Checked = true;
                btnStatus.Text       = btnx_Suspend.Text;
                btnStatus.ForeColor  = System.Drawing.Color.Red;
                break;
            }

            case GVAR.STATUS_UNOFFICIAL:
            {
                EnalbeMatchCtrl(true);
                EnableScoreBtn(true);
                btnx_Finished.Enabled   = true;
                btnx_Unofficial.Checked = true;
                btnStatus.Text          = btnx_Unofficial.Text;
                btnStatus.ForeColor     = System.Drawing.Color.LimeGreen;

                UpdateMatchResult();

                int iEventID = GVAR.g_ManageDB.GetEventID(m_CCurMatch.MatchID);
                GVAR.g_BKPlugin.DataChangedNotify(OVRDataChangedType.emMatchResult, -1, iEventID, -1, iMatchID, iMatchID, null);

                OVRDataBaseUtils.AutoProgressMatch(iMatchID, GVAR.g_sqlConn, GVAR.g_BKPlugin);        //自动晋级

                //GVAR.g_ManageDB.AutoGroupRank(iMatchID);       // 自动小组排名
                int iPhaseID = GVAR.g_ManageDB.GetPhaseID(iMatchID);
                GVAR.g_BKPlugin.DataChangedNotify(OVRDataChangedType.emPhaseResult, -1, -1, iPhaseID, -1, iPhaseID, null);

                break;
            }

            case GVAR.STATUS_FINISHED:
            {
                EnalbeMatchCtrl(false);
                EnableScoreBtn(false);

                btnx_Revision.Enabled = true;
                btnx_Finished.Checked = true;
                btnStatus.Text        = btnx_Finished.Text;
                btnStatus.ForeColor   = System.Drawing.Color.LimeGreen;

                int iEventID = GVAR.g_ManageDB.GetEventID(m_CCurMatch.MatchID);
                GVAR.g_BKPlugin.DataChangedNotify(OVRDataChangedType.emMatchResult, -1, iEventID, -1, iMatchID, iMatchID, null);

                OVRDataBaseUtils.AutoProgressMatch(iMatchID, GVAR.g_sqlConn, GVAR.g_BKPlugin); //自动晋级

                GVAR.g_ManageDB.AutoGroupRank(iMatchID);                                       // 自动小组排名
                int iPhaseID = GVAR.g_ManageDB.GetPhaseID(iMatchID);
                GVAR.g_BKPlugin.DataChangedNotify(OVRDataChangedType.emPhaseResult, -1, -1, iPhaseID, -1, iPhaseID, null);
                break;
            }

            case GVAR.STATUS_REVISION:
            {
                EnalbeMatchCtrl(true);
                EnableScoreBtn(true);

                btnx_Finished.Enabled = true;
                btnx_Revision.Checked = true;
                btnStatus.Text        = btnx_Revision.Text;
                btnStatus.ForeColor   = System.Drawing.Color.LimeGreen;
                break;
            }

            case GVAR.STATUS_CANCELED:
            {
                EnalbeMatchCtrl(false);
                EnableScoreBtn(false);

                btnx_Canceled.Checked = true;
                btnStatus.Text        = btnx_Canceled.Text;
                btnStatus.ForeColor   = System.Drawing.SystemColors.ControlText;
                break;
            }

            default:
                return;
            }
        }
Example #3
0
        //计时计分xml更新到数据库之后,通知外围系统状态改变
        public void OnRecvExtraTaskPackage(ExtraTaskInfo extraInfo)
        {
            if (!extraInfo.BTaskOK)
            {
                return;
            }
            if ((extraInfo.TaskFlags & (int)ExtraWorkEnum.ExtraWorkNotifyProgress) != 0)
            {
                BDCommon.g_BDPlugin.DataChangedNotify(OVRDataChangedType.emMatchProgress, -1, -1, -1, extraInfo.MatchID, -1, null);
                OutputXmlToXuNi(extraInfo.MatchID);
            }

            if ((extraInfo.TaskFlags & (int)ExtraWorkEnum.ExtraWorkNotifySplitInfo) != 0)
            {
                BDCommon.g_BDPlugin.DataChangedNotify(OVRDataChangedType.emSplitInfo, -1, -1, -1, extraInfo.MatchID, -1, null);
                OutputXmlToXuNi(extraInfo.MatchID);
            }
            if ((extraInfo.TaskFlags & (int)ExtraWorkEnum.ExtraWorkNotifyStatusStartList) != 0)
            {
                BDCommon.g_ManageDB.SetCurrentSplitFlag(extraInfo.MatchID, 1, 1);
                BDCommon.g_BDPlugin.DataChangedNotify(OVRDataChangedType.emMatchStatus, -1, -1, -1, extraInfo.MatchID, -1, null);
            }
            if ((extraInfo.TaskFlags & (int)ExtraWorkEnum.ExtraWorkNotifyStatusRunning) != 0)
            {
                BDCommon.g_BDPlugin.DataChangedNotify(OVRDataChangedType.emMatchStatus, -1, -1, -1, extraInfo.MatchID, -1, null);
                OutputXmlToXuNi(extraInfo.MatchID);
            }
            if ((extraInfo.TaskFlags & (int)ExtraWorkEnum.ExtraWorkNotifyStatusUnofficial) != 0)
            {
                // UpdateRank
                BDCommon.g_ManageDB.UpdateMatchRankSets(extraInfo.MatchID);
                BDCommon.g_ManageDB.CreateGroupResult(extraInfo.MatchID);
                OVRDataBaseUtils.AutoProgressMatch(extraInfo.MatchID, BDCommon.g_adoDataBase.m_dbConnect, BDCommon.g_BDPlugin); //自动晋级
                BDCommon.g_ManageDB.SetCurrentSplitFlag(extraInfo.MatchID, -1, 3);                                              //设置比赛结束

                //  BDCommon.g_BDPlugin.DataChangedNotify(OVRDataChangedType.emMatchResult, -1, -1, -1, extraInfo.MatchID, extraInfo.MatchID, null);

                Int32 iPhaseID = BDCommon.g_ManageDB.GetPhaseID(extraInfo.MatchID);
                BDCommon.g_BDPlugin.DataChangedNotify(OVRDataChangedType.emPhaseResult, -1, -1, iPhaseID, -1, iPhaseID, null);
                BDCommon.g_BDPlugin.DataChangedNotify(OVRDataChangedType.emMatchStatus, -1, -1, -1, extraInfo.MatchID, extraInfo.MatchID, null);
                OutputXmlToXuNi(extraInfo.MatchID);
            }
            //收到导出schedule的消息
            if ((extraInfo.TaskFlags & (int)ExtraWorkEnum.ExtraWorkNotifyExportSchedule) != 0)
            {
                if (chkOuterData.Checked)
                {
                    string strRes = ExportScheduleXml2();
                    if (strRes == "")
                    {
                        AddInfoToFileBox("收到客户端导出schedule消息成功!");
                    }
                    else
                    {
                        AddInfoToFileBox("收到客户端导出消息," + strRes, false);
                    }
                }
                else
                {
                    AddInfoToFileBox("收到客户端导出schedule消息,未勾选External data", false);
                }
            }
        }
Example #4
0
        private void UpdateMatchStatus(bool bAllowReCalculateResult = true)
        {
            btnx_Schedule.Checked   = false;
            btnx_StartList.Checked  = false;
            btnx_Running.Checked    = false;
            btnx_Suspend.Checked    = false;
            btnx_Unofficial.Checked = false;
            btnx_Finished.Checked   = false;
            btnx_Revision.Checked   = false;
            btnx_Canceled.Checked   = false;

            btnx_Schedule.Enabled   = false;
            btnx_StartList.Enabled  = false;
            btnx_Running.Enabled    = false;
            btnx_Suspend.Enabled    = false;
            btnx_Unofficial.Enabled = false;
            btnx_Finished.Enabled   = false;
            btnx_Revision.Enabled   = false;

            switch (m_nCurStatusID)
            {
            case BDCommon.STATUS_SCHEDULE:
            {
                btnx_StartList.Enabled  = true;
                btnx_Unofficial.Enabled = true;
                btnx_Finished.Enabled   = true;
                btnx_Schedule.Checked   = true;
                btnx_Status.Text        = btnx_Schedule.Text;
                btnx_Status.ForeColor   = System.Drawing.SystemColors.ControlText;
                break;
            }

            case BDCommon.STATUS_STARTLIST:
            {
                chkEnableInput.Checked = false;
                chkEnableInput.Enabled = false;
                if (m_nGamesCount > 0 && m_nTeamSplitCount >= 0)
                {
                    btnx_Running.Enabled = true;
                }

                btnx_StartList.Checked = true;
                btnx_Status.Text       = btnx_StartList.Text;
                btnx_Status.ForeColor  = System.Drawing.SystemColors.ControlText;
                BDCommon.g_ManageDB.SetCurrentSplitFlag(m_nCurMatchID, 1, 1);        //设置比赛即将开始状态
                break;
            }

            case BDCommon.STATUS_RUNNING:
            {
                //chkEnableInput.Checked = false;
                chkEnableInput.Enabled  = true;
                btnx_Suspend.Enabled    = true;
                btnx_Unofficial.Enabled = true;

                if (bAllowReCalculateResult)
                {
                    UpdateAllMatchSplitStatus(BDCommon.STATUS_RUNNING);
                }

                btnx_Running.Checked  = true;
                btnx_Status.Text      = btnx_Running.Text;
                btnx_Status.ForeColor = System.Drawing.Color.Red;

                if (chkEnableInput.Checked)
                {
                    BDCommon.g_ManageDB.SetCurrentSplitFlag(m_nCurMatchID, 1, 2);        //设置比赛运行状态
                }
                break;
            }

            case BDCommon.STATUS_SUSPEND:
            {
                // EnableMatchAll(false, false);

                btnx_Running.Enabled  = true;
                btnx_Suspend.Checked  = true;
                btnx_Status.Text      = btnx_Suspend.Text;
                btnx_Status.ForeColor = System.Drawing.Color.Red;
                break;
            }

            case BDCommon.STATUS_UNOFFICIAL:
            {
                Int32 iPhaseID = BDCommon.g_ManageDB.GetPhaseID(m_nCurMatchID);
                chkEnableInput.Checked = false;
                chkEnableInput.Enabled = false;
                //EnableMatchAll(false, false);

                if (bAllowReCalculateResult)
                {
                    BDCommon.g_ManageDB.UpdateMatchRankSets(m_nCurMatchID);
                    BDCommon.g_ManageDB.CreateGroupResult(m_nCurMatchID);
                    OVRDataBaseUtils.AutoProgressMatch(m_nCurMatchID, BDCommon.g_adoDataBase.m_dbConnect, BDCommon.g_BDPlugin);        //自动晋级
                    BDCommon.g_ManageDB.SetPhaseCompetitors(iPhaseID);
                }

                btnx_Finished.Enabled   = true;
                btnx_Revision.Enabled   = true;
                btnx_Unofficial.Checked = true;
                btnx_Status.Text        = btnx_Unofficial.Text;
                btnx_Status.ForeColor   = System.Drawing.Color.LimeGreen;

                if (bAllowReCalculateResult)
                {
                    BDCommon.g_ManageDB.UpdateAllSplitStatus(m_nCurMatchID, m_nCurStatusID);
                    BDCommon.g_ManageDB.SetCurrentSplitFlag(m_nCurMatchID, -1, 3);        //设置比赛结束

                    // BDCommon.g_BDPlugin.DataChangedNotify(OVRDataChangedType.emMatchResult, -1, -1, -1, m_nCurMatchID, m_nCurMatchID, null);

                    BDCommon.g_BDPlugin.DataChangedNotify(OVRDataChangedType.emPhaseResult, -1, -1, iPhaseID, -1, iPhaseID, null);
                    BDCommon.g_BDPlugin.DataChangedNotify(OVRDataChangedType.emSplitInfo, -1, -1, -1, m_nCurMatchID, m_nCurMatchID, null);
                }

                break;
            }

            case BDCommon.STATUS_FINISHED:
            {
                Int32 iPhaseID = BDCommon.g_ManageDB.GetPhaseID(m_nCurMatchID);
                chkEnableInput.Checked = false;
                chkEnableInput.Enabled = false;
                if (m_nCurMatchType != BDCommon.MATCH_TYPE_TEAM)
                {
                    GetAllGamesResultFromDB();
                }

                if (bAllowReCalculateResult)
                {
                    BDCommon.g_ManageDB.UpdateMatchRankSets(m_nCurMatchID);
                    BDCommon.g_ManageDB.CreateGroupResult(m_nCurMatchID);
                    OVRDataBaseUtils.AutoProgressMatch(m_nCurMatchID, BDCommon.g_adoDataBase.m_dbConnect, BDCommon.g_BDPlugin);        //自动晋级
                    BDCommon.g_ManageDB.SetPhaseCompetitors(iPhaseID);
                }

                btnx_Revision.Enabled = true;
                btnx_Finished.Checked = true;
                btnx_Status.Text      = btnx_Finished.Text;
                btnx_Status.ForeColor = System.Drawing.Color.LimeGreen;
                if (bAllowReCalculateResult)
                {
                    BDCommon.g_ManageDB.UpdateAllSplitStatus(m_nCurMatchID, m_nCurStatusID);
                    BDCommon.g_ManageDB.SetCurrentSplitFlag(m_nCurMatchID, -1, 3);        //设置比赛结束

                    // BDCommon.g_BDPlugin.DataChangedNotify(OVRDataChangedType.emMatchResult, -1, -1, -1, m_nCurMatchID, m_nCurMatchID, null);

                    BDCommon.g_BDPlugin.DataChangedNotify(OVRDataChangedType.emPhaseResult, -1, -1, iPhaseID, -1, iPhaseID, null);
                    BDCommon.g_BDPlugin.DataChangedNotify(OVRDataChangedType.emSplitInfo, -1, -1, -1, m_nCurMatchID, m_nCurMatchID, null);
                }
                break;
            }

            case BDCommon.STATUS_REVISION:
            {
                //EnableMatchAll(true, false);
                chkEnableInput.Enabled = true;
                if (m_nCurMatchType != BDCommon.MATCH_TYPE_TEAM)
                {
                    GetAllGamesResultFromDB();
                }

                btnx_Finished.Enabled = true;
                btnx_Revision.Checked = true;
                btnx_Status.Text      = btnx_Revision.Text;
                btnx_Status.ForeColor = System.Drawing.Color.LimeGreen;
                BDCommon.g_ManageDB.SetCurrentSplitFlag(m_nCurMatchID, 1, 2);        //设置比赛运行状态
                break;
            }

            case BDCommon.STATUS_CANCELED:
            {
                chkEnableInput.Checked = false;
                chkEnableInput.Enabled = false;
                btnx_Canceled.Checked  = true;
                btnx_Status.Text       = btnx_Canceled.Text;
                btnx_Status.ForeColor  = System.Drawing.SystemColors.ControlText;
                break;
            }

            default:
                return;
            }
        }
        void ImportMatchInfo(String strImprotFile)
        {
            if (!File.Exists(strImprotFile))
            {
                MessageBox.Show(LocalizationRecourceManager.GetString(strSectionName, "msgFilePath"));
                return;
            }

            String       strInPut = "";
            StreamReader sr       = new StreamReader(strImprotFile);
            String       strLine;

            while ((strLine = sr.ReadLine()) != null)
            {
                strInPut = strInPut + strLine;
            }

            sr.Close();

            Int32 nMatchID;
            Int32 nStatusID;

            // Output Prompt

            if (SQCommon.g_ManageDB.ImportMatchInfoXml(strInPut, out nMatchID, out nStatusID))
            {
                String strMsg = LocalizationRecourceManager.GetString(strSectionName, "msgImportMatchInfoSuc") + nMatchID.ToString() + "\r\n";
                SetTextBoxText(strMsg);
            }
            else
            {
                String strMsg = LocalizationRecourceManager.GetString(strSectionName, "msgImportMatchInfo") + "\r\n";
                SetTextBoxText(strMsg);
            }

            if (nMatchID > 0)
            {
                if (nStatusID == SQCommon.STATUS_UNOFFICIAL || nStatusID == SQCommon.STATUS_FINISHED)
                {
                    SQCommon.g_ManageDB.UpdateMatchRankSets(nMatchID);
                    SQCommon.g_ManageDB.CreateGroupResult(nMatchID);

                    Int32 iPhaseID = SQCommon.g_ManageDB.GetPhaseID(nMatchID);
                    SQCommon.g_SQPlugin.DataChangedNotify(OVRDataChangedType.emPhaseResult, -1, -1, iPhaseID, -1, iPhaseID, null);
                }

                SqlConnection sqlConnection = new SqlConnection(SQCommon.g_adoDataBase.m_strConnection);

                if (sqlConnection.State == System.Data.ConnectionState.Closed)
                {
                    sqlConnection.Open();
                }

                OVRDataBaseUtils.ChangeMatchStatus(nMatchID, nStatusID, sqlConnection, SQCommon.g_SQPlugin);
                OVRDataBaseUtils.AutoProgressMatch(nMatchID, sqlConnection, SQCommon.g_SQPlugin);

                if (sqlConnection != null)
                {
                    sqlConnection.Close();
                }

                SQCommon.g_SQPlugin.DataChangedNotify(OVRDataChangedType.emMatchResult, -1, -1, -1, nMatchID, nMatchID, null);
                SQCommon.g_SQPlugin.DataChangedNotify(OVRDataChangedType.emSplitInfo, -1, -1, -1, nMatchID, nMatchID, null);
            }
        }
        private void UpdateMatchStatus()
        {
            btnx_Schedule.Checked   = false;
            btnx_StartList.Checked  = false;
            btnx_Running.Checked    = false;
            btnx_Suspend.Checked    = false;
            btnx_Unofficial.Checked = false;
            btnx_Finished.Checked   = false;
            btnx_Revision.Checked   = false;
            btnx_Canceled.Checked   = false;

            btnx_Schedule.Enabled   = false;
            btnx_StartList.Enabled  = false;
            btnx_Running.Enabled    = false;
            btnx_Suspend.Enabled    = false;
            btnx_Unofficial.Enabled = false;
            btnx_Finished.Enabled   = false;
            btnx_Revision.Enabled   = false;

            switch (m_nCurStatusID)
            {
            case SQCommon.STATUS_SCHEDULE:
            {
                btnx_StartList.Enabled  = true;
                btnx_Unofficial.Enabled = true;
                btnx_Finished.Enabled   = true;
                btnx_Schedule.Checked   = true;
                btnx_Status.Text        = btnx_Schedule.Text;
                btnx_Status.ForeColor   = System.Drawing.SystemColors.ControlText;
                break;
            }

            case SQCommon.STATUS_STARTLIST:
            {
                if (m_nSetsCount > 0 && m_nTeamSplitCount >= 0)
                {
                    btnx_Running.Enabled = true;
                }

                btnx_StartList.Checked = true;
                btnx_Status.Text       = btnx_StartList.Text;
                btnx_Status.ForeColor  = System.Drawing.SystemColors.ControlText;
                break;
            }

            case SQCommon.STATUS_RUNNING:
            {
                EnableMatchAll(true, false);
                btnx_Suspend.Enabled    = true;
                btnx_Unofficial.Enabled = true;

                UpdateSplitStatus(SQCommon.STATUS_RUNNING);

                btnx_Running.Checked  = true;
                btnx_Status.Text      = btnx_Running.Text;
                btnx_Status.ForeColor = System.Drawing.Color.Red;
                break;
            }

            case SQCommon.STATUS_SUSPEND:
            {
                EnableMatchAll(false, false);

                btnx_Running.Enabled  = true;
                btnx_Suspend.Checked  = true;
                btnx_Status.Text      = btnx_Suspend.Text;
                btnx_Status.ForeColor = System.Drawing.Color.Red;
                break;
            }

            case SQCommon.STATUS_UNOFFICIAL:
            {
                EnableMatchAll(false, false);

                SQCommon.g_ManageDB.UpdateMatchRankSets(m_nCurMatchID);
                SQCommon.g_ManageDB.CreateGroupResult(m_nCurMatchID);
                OVRDataBaseUtils.AutoProgressMatch(m_nCurMatchID, SQCommon.g_adoDataBase.m_dbConnect, SQCommon.g_SQPlugin);        //自动晋级
                SQCommon.g_SQPlugin.DataChangedNotify(OVRDataChangedType.emMatchResult, -1, -1, -1, m_nCurMatchID, m_nCurMatchID, null);

                Int32 iPhaseID = SQCommon.g_ManageDB.GetPhaseID(m_nCurMatchID);
                SQCommon.g_SQPlugin.DataChangedNotify(OVRDataChangedType.emPhaseResult, -1, -1, iPhaseID, -1, iPhaseID, null);

                btnx_Finished.Enabled   = true;
                btnx_Revision.Enabled   = true;
                btnx_Unofficial.Checked = true;
                btnx_Status.Text        = btnx_Unofficial.Text;
                btnx_Status.ForeColor   = System.Drawing.Color.LimeGreen;
                break;
            }

            case SQCommon.STATUS_FINISHED:
            {
                EnableMatchAll(false, false);

                if (m_nCurMatchType == SQCommon.MATCH_TYPE_SINGLE)
                {
                    UpdateSetsResult(true);
                }

                SQCommon.g_ManageDB.UpdateMatchRankSets(m_nCurMatchID);
                SQCommon.g_ManageDB.CreateGroupResult(m_nCurMatchID);
                OVRDataBaseUtils.AutoProgressMatch(m_nCurMatchID, SQCommon.g_adoDataBase.m_dbConnect, SQCommon.g_SQPlugin);        //自动晋级
                SQCommon.g_SQPlugin.DataChangedNotify(OVRDataChangedType.emMatchResult, -1, -1, -1, m_nCurMatchID, m_nCurMatchID, null);

                Int32 iPhaseID = SQCommon.g_ManageDB.GetPhaseID(m_nCurMatchID);
                SQCommon.g_SQPlugin.DataChangedNotify(OVRDataChangedType.emPhaseResult, -1, -1, iPhaseID, -1, iPhaseID, null);

                btnx_Revision.Enabled = true;
                btnx_Finished.Checked = true;
                btnx_Status.Text      = btnx_Finished.Text;
                btnx_Status.ForeColor = System.Drawing.Color.LimeGreen;
                break;
            }

            case SQCommon.STATUS_REVISION:
            {
                EnableMatchAll(true, false);

                btnx_Finished.Enabled = true;
                btnx_Revision.Checked = true;
                btnx_Status.Text      = btnx_Revision.Text;
                btnx_Status.ForeColor = System.Drawing.Color.LimeGreen;
                break;
            }

            case SQCommon.STATUS_CANCELED:
            {
                EnableMatchAll(false, false);

                btnx_Canceled.Checked = true;
                btnx_Status.Text      = btnx_Canceled.Text;
                btnx_Status.ForeColor = System.Drawing.SystemColors.ControlText;
                break;
            }

            default:
                return;
            }
        }
        private void UpdateMatchStatus()
        {
            InitStatusBtn();
            switch (m_CCurMatch.MatchStatus)
            {
            case GVAR.STATUS_SCHEDULE:
            {
                EnalbeMatchCtrl(true);
                EnableScoreBtn(false);
                EnablePenaltyPeriod(false);
                btnx_StartList.Enabled = true;
                btnx_Schedule.Checked  = true;
                btnStatus.Text         = btnx_Schedule.Text;
                btnStatus.ForeColor    = System.Drawing.SystemColors.ControlText;
                break;
            }

            case GVAR.STATUS_ON_COURT:
            {
                EnalbeMatchCtrl(true);
                EnableScoreBtn(false);
                EnablePenaltyPeriod(false);
                btnx_Running.Enabled   = true;
                btnx_StartList.Checked = true;
                btnStatus.Text         = btnx_StartList.Text;
                btnStatus.ForeColor    = System.Drawing.SystemColors.ControlText;
                break;
            }

            case GVAR.STATUS_RUNNING:
            {
                EnalbeMatchCtrl(true);
                EnableScoreBtn(true);
                EnablePenaltyPeriod(true);
                btnx_Suspend.Enabled    = true;
                btnx_Unofficial.Enabled = true;
                btnx_Running.Checked    = true;
                btnStatus.Text          = btnx_Running.Text;
                btnStatus.ForeColor     = System.Drawing.Color.Red;

                int iMatchSplitID = GVAR.g_ManageDB.GetMatchSplitID(m_MatchID, m_CCurMatch.Period);
                int iSplitStatus  = GVAR.g_ManageDB.GetSplitStatusID(m_MatchID, iMatchSplitID);
                if (iSplitStatus != GVAR.STATUS_RUNNING && iSplitStatus != GVAR.STATUS_FINISHED && m_CCurMatch.Period == GVAR.PERIOD_1stHalf)
                {
                    btnStartPeriod_Click(null, null);
                }
                break;
            }

            case GVAR.STATUS_SUSPEND:
            {
                EnalbeMatchCtrl(true);
                EnableScoreBtn(false);
                EnablePenaltyPeriod(false);
                btnx_Running.Enabled = true;
                btnx_Suspend.Checked = true;
                btnStatus.Text       = btnx_Suspend.Text;
                btnStatus.ForeColor  = System.Drawing.Color.Red;
                if (m_CCurMatch.bRunTime)
                {
                    btnStart_Click(null, null);
                }
                GVAR.g_ManageDB.UpdateMatchTime(m_MatchID, m_CCurMatch.MatchTime);
                break;
            }

            case GVAR.STATUS_UNOFFICIAL:
            {
                EnalbeMatchCtrl(true);
                EnableScoreBtn(true);
                EnablePenaltyPeriod(true);
                btnx_Finished.Enabled   = true;
                btnx_Unofficial.Checked = true;
                btnStatus.Text          = btnx_Unofficial.Text;
                btnStatus.ForeColor     = System.Drawing.Color.LimeGreen;
                if (m_bAutoSendMessage)
                {
                    UpdateMatchResult();
                    GVAR.g_ManageDB.UpdateMatchTime(m_MatchID, m_CCurMatch.MatchTime);
                    GVAR.g_FBPlugin.DataChangedNotify(OVRDataChangedType.emMatchResult, -1, -1, -1, m_MatchID, m_MatchID, null);
                }
                break;
            }

            case GVAR.STATUS_FINISHED:
            {
                EnalbeMatchCtrl(false);
                EnableScoreBtn(false);
                EnablePenaltyPeriod(false);
                btnx_Revision.Enabled = true;
                btnx_Finished.Checked = true;
                btnStatus.Text        = btnx_Finished.Text;
                btnStatus.ForeColor   = System.Drawing.Color.LimeGreen;

                GVAR.g_ManageDB.UpdateMatchTime(m_MatchID, m_CCurMatch.MatchTime);
                if (m_bAutoSendMessage)
                {
                    if (b_calculateRank)
                    {
                        UpdateMatchResult();
                        b_calculateRank = false;
                    }
                    GVAR.g_FBPlugin.DataChangedNotify(OVRDataChangedType.emMatchResult, -1, -1, -1, m_MatchID, m_MatchID, null);
                    OVRDataBaseUtils.AutoProgressMatch(m_MatchID, GVAR.g_sqlConn, GVAR.g_FBPlugin);        //自动晋级
                    int iPhaseID = GVAR.g_ManageDB.GetPhaseID(m_MatchID);
                    GVAR.g_ManageDB.AutoGroupRank(iPhaseID);
                    GVAR.g_FBPlugin.DataChangedNotify(OVRDataChangedType.emPhaseResult, -1, -1, iPhaseID, -1, iPhaseID, null);
                }
                break;
            }

            case GVAR.STATUS_REVISION:
            {
                EnalbeMatchCtrl(true);
                EnableScoreBtn(true);
                EnablePenaltyPeriod(true);

                btnx_Finished.Enabled = true;
                btnx_Revision.Checked = true;
                btnStatus.Text        = btnx_Revision.Text;
                btnStatus.ForeColor   = System.Drawing.Color.LimeGreen;

                GVAR.g_ManageDB.UpdateMatchTime(m_MatchID, m_CCurMatch.MatchTime);
                break;
            }

            case GVAR.STATUS_CANCELED:
            {
                EnalbeMatchCtrl(false);
                EnableScoreBtn(false);
                EnablePenaltyPeriod(false);

                btnx_Canceled.Checked = true;
                btnStatus.Text        = btnx_Canceled.Text;
                btnStatus.ForeColor   = System.Drawing.SystemColors.ControlText;

                GVAR.g_ManageDB.UpdateMatchTime(m_MatchID, m_CCurMatch.MatchTime);
                break;
            }

            default:
                return;
            }
        }