示例#1
0
        private void btnRegisterBack_Click(object sender, EventArgs e)
        {
            DataGridView dgvMatchResults = GVAR.g_EQPlugin.m_frmEQPlugin.GetDgvMatchResults();

            if (m_iCurResultRow > 1 && m_iCurResultRow <= dgvMatchResults.Rows.Count)
            {
                m_iCurResultRow--;
                m_iCurRegisterID     = GVAR.Str2Int(dgvMatchResults.Rows[m_iCurResultRow - 1].Cells["F_RegisterID"].Value.ToString());
                m_strCurRegisterName = dgvMatchResults.Rows[m_iCurResultRow - 1].Cells["RegisterName"].Value.ToString()
                                       + "(" + dgvMatchResults.Rows[m_iCurResultRow - 1].Cells["F_DelegationShortName"].Value.ToString() + ")";
                lb_CurrentRider.Text = m_strCurRegisterName;

                dgvMatchResults.Rows[m_iCurResultRow - 1].Selected = true;

                DataGridView dgvMatchResultDetails = GVAR.g_EQPlugin.m_frmEQPlugin.GetDgvMatchResultDetails();
                dgvMatchResultDetails.Rows[0].Cells["F_1"].Selected = true;

                //更新当前舞步
                lb_CurrentMovement.Text = "";
                m_iCurMovement          = 0;

                //如果auto check,将发送当前运动员的打分列表给所有裁判
                if (chkX_ScoreListAuto.Checked)
                {
                    SendScoreList(m_iCurMatchID, m_iCurRegisterID, m_iCurResultRow, m_strCurRegisterName, m_strCurMatchTitle, "", m_strCurRegisterName);
                }
            }
        }
示例#2
0
        private void btnAdd_Click(object sender, EventArgs e)
        {
            int iColIdx     = dgvAvailOfficial.Columns["F_RegisterID"].Index;
            int iFuncColIdx = dgvAvailOfficial.Columns["F_FunctionID"].Index;

            for (int i = 0; i < dgvAvailOfficial.SelectedRows.Count; i++)
            {
                int iRowIdx = dgvAvailOfficial.SelectedRows[i].Index;

                string strRegisterID = dgvAvailOfficial.Rows[iRowIdx].Cells[iColIdx].Value.ToString();
                string strFunctionID = dgvAvailOfficial.Rows[iRowIdx].Cells[iFuncColIdx].Value.ToString();

                int iRegisterID = GVAR.Str2Int(strRegisterID);
                int iFunctionID = 0;
                if (strFunctionID.Length == 0)
                {
                    iFunctionID = -1;
                }
                else
                {
                    iFunctionID = GVAR.Str2Int(strFunctionID);
                }
                AddMatchOfficial(m_iMatchID, iRegisterID, iFunctionID);
            }
            ResetAvailableOfficial();
            ResetMatchOfficial();
        }
示例#3
0
 private void calcFinalTime()
 {
     if (MatchConfigID == 7)
     {
         m_fFinalTime       = m_fCurrentTime - GVAR.StrTime2Decimal(txt_PauseTime.Text) + GVAR.StrTime2Decimal(txt_CorrectTime.Text);
         m_strFinalTime     = GVAR.Float2StrTime(m_fFinalTime);
         txt_FinalTime.Text = m_strFinalTime;
     }
     else
     {
         m_fFinalTime       = m_fCurrentTime - GVAR.Str2Decimal(txt_PauseTime.Text) + GVAR.Str2Decimal(txt_CorrectTime.Text);
         m_strFinalTime     = m_fFinalTime.ToString();
         txt_FinalTime.Text = m_strFinalTime;
     }
 }
示例#4
0
        private void btnRemove_Click(object sender, EventArgs e)
        {
            int iColIdx = dgvMatchOfficial.Columns["F_RegisterID"].Index;

            for (int i = 0; i < dgvMatchOfficial.SelectedRows.Count; i++)
            {
                int iRowIdx = dgvMatchOfficial.SelectedRows[i].Index;

                string strRegisterID = dgvMatchOfficial.Rows[iRowIdx].Cells[iColIdx].Value.ToString();

                int iRegisterID = GVAR.Str2Int(strRegisterID);
                RemoveMatchOfficial(m_iMatchID, iRegisterID);
            }
            ResetAvailableOfficial();
            ResetMatchOfficial();
        }
示例#5
0
        public OVREQJPTimeForm(int m_iCurMatchConfigID, string strTime)
        {
            InitializeComponent();
            m_strCurrentTime   = strTime;
            txt_FinalTime.Text = strTime;
            MatchConfigID      = m_iCurMatchConfigID;
            if (MatchConfigID == 7)
            {
                m_fFinalTime   = GVAR.StrTime2Decimal(strTime);
                m_fCurrentTime = GVAR.StrTime2Decimal(strTime);
            }
            else
            {
                m_fFinalTime   = GVAR.Str2Decimal(strTime);
                m_fCurrentTime = GVAR.Str2Decimal(strTime);
            }

            Localization();
        }
示例#6
0
        protected override void OnMgrEvent(object sender, OVRMgr2PluginEventArgs e)
        {
            switch (e.Type)
            {
            case OVRMgr2PluginEventType.emMatchSelected:
            {
                if (m_frmEQPlugin != null)
                {
                    m_frmEQPlugin.OnMsgFlushSelMatch(0, GVAR.Str2Int(e.Args.ToString()));
                    SetReportContext("MatchID", e.Args.ToString());
                }
                break;
            }

            case OVRMgr2PluginEventType.emRptContextQuery:
            {
                m_frmEQPlugin.QueryReportContext(e.Args as OVRReportContextQueryArgs);
                break;
            }
            }
        }
示例#7
0
        public static Decimal StrTime2Decimal(Object strObj)
        {
            if (strObj == null)
            {
                return(0);
            }
            if (strObj.ToString().Length == 0)
            {
                return(0);
            }

            try
            {
                string[] sArray = strObj.ToString().Split(new string[] { "'" }, StringSplitOptions.RemoveEmptyEntries);
                return(GVAR.Str2Decimal(sArray[0]) * 60 + GVAR.Str2Decimal(sArray[1]));
            }
            catch (System.Exception errorFmt)
            {
                MessageBox.Show(errorFmt.ToString());
            }
            return(0);
        }
示例#8
0
        private void dgvMatchOfficial_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex < 0 || e.RowIndex < 0)
            {
                return;
            }

            int              iColumnIndex  = e.ColumnIndex;
            int              iRowIndex     = e.RowIndex;
            String           strColumnName = dgvMatchOfficial.Columns[iColumnIndex].Name;
            DataGridViewCell CurCell       = dgvMatchOfficial.Rows[iRowIndex].Cells[iColumnIndex];

            if (CurCell != null)
            {
                int iRegisterID = GVAR.Str2Int(dgvMatchOfficial.Rows[iRowIndex].Cells["F_RegisterID"].Value);
                int iFunctionID = 0;
                int iPositionID = 0;
                if (CurCell is DGVCustomComboBoxCell)
                {
                    DGVCustomComboBoxCell CurCell1 = CurCell as DGVCustomComboBoxCell;
                    if (strColumnName.CompareTo("Function") == 0)
                    {
                        iFunctionID = GVAR.Str2Int(CurCell1.Tag);
                        UpdateOfficialFunction(m_iMatchID, iRegisterID, iFunctionID);
                    }
                    else
                    {
                        iPositionID = GVAR.Str2Int(CurCell1.Tag);
                        UpdateOfficialPosition(m_iMatchID, iRegisterID, iPositionID);
                    }
                }
                else
                {
                    return;
                }
            }
            ResetMatchOfficial();
        }
示例#9
0
        private void InitLanguageCombBox()
        {
            if (m_dbConnect.State == System.Data.ConnectionState.Closed)
            {
                m_dbConnect.Open();
            }

            try
            {
                #region DML Command Setup for lbLanguage Combo
                SqlCommand cmd = new SqlCommand("Proc_GetLanguageCode", m_dbConnect);
                cmd.CommandType = CommandType.StoredProcedure;
                SqlDataReader dr = cmd.ExecuteReader();
                #endregion

                GVAR.FillCombox(cmbLanguage, dr, 0, 1, m_strLanguageCode);
                dr.Close();
            }
            catch (System.Exception e)
            {
                DevComponents.DotNetBar.MessageBoxEx.Show(e.Message);
            }
        }
示例#10
0
        private void InitLanguageCombBox()
        {
            if (m_dbConnect.State == System.Data.ConnectionState.Closed)
            {
                m_dbConnect.Open();
            }

            try
            {
                #region DML Command Setup for lbLanguage Combo
                string        strSQL = "SELECT F_LanguageDescription,F_LanguageCode FROM TC_Language Order By F_Order";
                SqlCommand    cmd    = new SqlCommand(strSQL, m_dbConnect);
                SqlDataReader dr     = cmd.ExecuteReader();
                #endregion

                GVAR.FillCombox(cmbLanguage, dr, 0, 1, m_strLanguageCode);
                dr.Close();
            }
            catch (System.Exception e)
            {
                DevComponents.DotNetBar.MessageBoxEx.Show(e.Message);
            }
        }
示例#11
0
 private void Receive()
 {
     //后台线程Receive从网络流轮询获取数据
     while (true)
     {
         if (tcp != null && tcp.Connected)
         {
             try
             {
                 //初始化缓存空间
                 Byte[] buffer = new Byte[tcp.ReceiveBufferSize];
                 //读取网络流的数据到缓存
                 int bytesReaded = stream.Read(buffer, 0, buffer.Length);
                 // If no data any more or the Server is closed, Close Client itself.
                 if (bytesReaded <= 0)
                 {
                     isConnected = false;
                     stream.Close();
                     tcp.Close();
                     GVAR.MsgBox("Timming server disconnected!");
                     if (TCPServerDisconnected != null)
                     {
                         //将连接uncheck
                         TCPServerDisconnected();
                     }
                     receiveThread.Abort();
                 }
                 if (DataReceived != null)
                 {
                     //交给GetSlalomMessage(得到有效的数据帧)解析
                     DataReceived(buffer, bytesReaded);
                 }
             }
             catch (IOException ie)
             {
                 isConnected = false;
                 stream.Close();
                 tcp.Close();
                 tcp = null;
                 MessageBox.Show(ie.Message.ToString());
                 if (TCPServerDisconnected != null)
                 {
                     //将连接uncheck
                     TCPServerDisconnected();
                 }
                 receiveThread.Abort();
             }
             catch (SocketException e)
             {
                 isConnected = false;
                 stream.Close();
                 tcp.Close();
                 tcp = null;
                 MessageBox.Show(e.Message.ToString());
                 if (TCPServerDisconnected != null)
                 {
                     //将连接uncheck
                     TCPServerDisconnected();
                 }
                 receiveThread.Abort();
             }
         }
     }
 }
示例#12
0
        //每个动作分打完后都需要发送一次分数给OVR,OVR需要计算当前的平均分
        private void HandleXmlScore(int judgeNum, XmlDocument xmlScore)
        {
            // 获取比赛标示和比分列表
            XmlNodeList xmlScoreList = null;

            xmlScoreList = xmlScore.SelectNodes("/Scores/Score");

            //分数是否有效
            bool bIsLegal = true;
            //是否确认提交
            bool bIsValidated = false;

            //当前舞步
            int iScore = 0;

            //直接入库,存入resultdetail
            foreach (XmlNode xmlScoreNode in xmlScoreList)
            {
                iScore++;
                string strScoreID    = ((XmlElement)xmlScoreNode).GetAttribute("ScoreID");
                string strScoreValue = ((XmlElement)xmlScoreNode).GetAttribute("ScoreValue");
                //如果为"",表示没打分
                decimal fScore = GVAR.Str2Decimal(strScoreValue);
                if (!strScoreID.Equals("F_TotalScore") && !strScoreID.Equals("F_Status"))
                {
                    if (!strScoreID.Equals("F_0") && !IslegalSocre(strScoreValue))
                    {
                        bIsLegal = false;
                    }
                    //将打过的分更新到数据库,调用存储过程更新resultdetail
                    if (strScoreValue != "")
                    {
                        GVAR.g_EQDBManager.UpdateDetailScore(m_iCurMatchID, m_iCurRegisterID, judgeNum, strScoreID, fScore);
                    }
                    else
                    {
                        GVAR.g_EQDBManager.UpdateDetailScoreNull(m_iCurMatchID, m_iCurRegisterID, judgeNum, strScoreID);
                    }
                }
                //如果扣分不为0
                if (strScoreID.Equals("F_0"))
                {
                    GVAR.g_EQDBManager.UpdateJudgePointsWhenDetailScoreChange(m_iCurMatchID, m_iCurRegisterID, 1);
                    GVAR.g_EQDBManager.UpdateJudgePointsWhenDetailScoreChange(m_iCurMatchID, m_iCurRegisterID, 2);
                    GVAR.g_EQDBManager.UpdateJudgePointsWhenDetailScoreChange(m_iCurMatchID, m_iCurRegisterID, 3);
                    GVAR.g_EQDBManager.UpdateJudgePointsWhenDetailScoreChange(m_iCurMatchID, m_iCurRegisterID, 4);
                    GVAR.g_EQDBManager.UpdateJudgePointsWhenDetailScoreChange(m_iCurMatchID, m_iCurRegisterID, 5);
                }
                //如果ipad发送了V按钮,同时分数都合法,则更新detail的状态为1
                if (strScoreID.Equals("F_Status") && GVAR.Str2Int(strScoreValue) == 1 && bIsLegal)
                {
                    GVAR.g_EQDBManager.UpdateDetailScore(m_iCurMatchID, m_iCurRegisterID, judgeNum, "F_Status", 1);
                    bIsValidated = true;
                }
            }

            //计算和更新裁判点总分和百分比分
            GVAR.g_EQDBManager.UpdateJudgePointsWhenDetailScoreChange(m_iCurMatchID, m_iCurRegisterID, judgeNum);

            //更新当前总
            GVAR.g_EQDBManager.UpdateCurPointsWhenScoreChanged(m_iCurMatchID, m_iCurRegisterID, 1);
            //更新累计总
            GVAR.g_EQDBManager.UpdateTotPointsWhenCurPointsChanged(m_iCurMatchID, m_iCurRegisterID);

            //触发dataentry刷新dgv
            //如果IPAD点击了确认,刷新主界面
            if (bIsValidated)
            {
                m_EventIpadMark(this, new frmIPadMark2frmDataEntryEventArgs(frmIPadMark2frmDataEntryEventType.emUpdateDgvResult, null));
            }
            m_EventIpadMark(this, new frmIPadMark2frmDataEntryEventArgs(frmIPadMark2frmDataEntryEventType.emUpdateDgvResultDetail, null));

            //自动显示下一个动作
            //MovementNextOperate();
        }
示例#13
0
        private void dgvMatchConfig_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex < 0 || e.ColumnIndex < 0)
            {
                return;
            }

            Int32            iColumnIndex   = e.ColumnIndex;
            Int32            iRowIndex      = e.RowIndex;
            String           strColumnName  = dgvMatchConfig.Columns[iColumnIndex].Name;
            DataGridViewCell CurCell        = dgvMatchConfig.Rows[iRowIndex].Cells[iColumnIndex];
            Int32            iInputValue    = 0;
            decimal          fInputValue    = 0;
            String           strInputString = "";

            //如果是combobox则保存CurCell的Tag
            if (CurCell.Value == null)
            {
                GVAR.g_EQDBManager.UpdateMatchConfigNull(MatchConfigID, strColumnName);
            }
            else
            {
                if (dgvMatchConfig.Columns[e.ColumnIndex].Name == "F_RiderInterval" ||
                    dgvMatchConfig.Columns[e.ColumnIndex].Name == "F_Judge" ||
                    dgvMatchConfig.Columns[e.ColumnIndex].Name == "F_Type")
                {
                    strInputString = "'" + CurCell.Value.ToString() + "'";
                    GVAR.g_EQDBManager.UpdateMatchConfig(MatchConfigID, strColumnName, strInputString);
                }
                else if (dgvMatchConfig.Columns[e.ColumnIndex].Name == "F_Penalties")
                {
                    try
                    {
                        fInputValue = Convert.ToDecimal(CurCell.Value);
                    }
                    catch (System.Exception ex)
                    {
                        fInputValue = 0;
                    }
                    GVAR.g_EQDBManager.UpdateMatchConfig(MatchConfigID, strColumnName, fInputValue);
                }
                else if (dgvMatchConfig.Columns[e.ColumnIndex].Name == "F_TimeAllowed" && m_iMatchConfigID == 7)
                {
                    try
                    {
                        iInputValue = GVAR.Str2Int(GVAR.StrTime2Decimal(CurCell.Value).ToString());
                        GVAR.g_EQDBManager.UpdateMatchConfig(MatchConfigID, strColumnName, iInputValue);
                    }
                    catch (System.Exception ex)
                    {
                        GVAR.g_EQDBManager.UpdateMatchConfigNull(MatchConfigID, strColumnName);
                    }
                }
                else
                {
                    try
                    {
                        iInputValue = Convert.ToInt32(CurCell.Value);
                        GVAR.g_EQDBManager.UpdateMatchConfig(MatchConfigID, strColumnName, iInputValue);
                    }
                    catch (System.Exception ex)
                    {
                        GVAR.g_EQDBManager.UpdateMatchConfigNull(MatchConfigID, strColumnName);
                    }
                }
            }
        }