Ejemplo n.º 1
0
        private void button1_Click(object sender, EventArgs e)
        {
            m_client = new EmmaMysqlClient("52.16.131.75", 3006, "liveresultat", "web", "liveresultat", int.Parse(textBox1.Text));
            m_client.Start();
            m_client.OnLogMessage += M_client_OnLogMessage;

            List <Event> events = new List <Event>();

            foreach (var runner in m_client.GetAllRunners())
            {
                int      hour      = (int)(runner.StartTime / (100.0 * 60 * 60));
                int      minute    = (int)((runner.StartTime - hour * 60 * 60 * 100) / (100.0 * 60));
                int      second    = (int)((runner.StartTime - hour * 60 * 60 * 100 - minute * 60 * 100) / (100.0));
                DateTime startTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, hour, minute, second);

                if (startTime < m_StartTime)
                {
                    m_StartTime = startTime;
                }

                foreach (var splitTime in runner.SplitTimes)
                {
                    DateTime eventTime = startTime.AddSeconds(splitTime.Time / 100.0);
                    events.Add(new Event
                    {
                        occurs = eventTime,
                        Data   = new ResultStruct
                        {
                            ControlCode = splitTime.Control,
                            Time        = splitTime.Time,
                        },
                        runner       = runner,
                        RunnerStatus = 0
                    });
                }

                if (runner.Time > 0)
                {
                    DateTime eventTime = startTime.AddSeconds(runner.Time / 100.0);
                    events.Add(new Event
                    {
                        occurs = eventTime,
                        Data   = new ResultStruct
                        {
                            ControlCode = 1000,
                            Time        = runner.Time
                        },
                        runner       = runner,
                        RunnerStatus = runner.StageStatus
                    });
                }

                runner.ClearTimeAndSplits();

                eventsToSimulate    = events.OrderBy(x => x.occurs).ToList();
                listBox1.DataSource = eventsToSimulate.Take(20).ToList();
                lblTime.Text        = m_StartTime.ToString("HH:mm:ss");
            }

            m_client.SetCompetitionId(int.Parse(textBox2.Text));
        }