475 lines
14 KiB
VB.net
475 lines
14 KiB
VB.net
Imports System.IO
|
|
Imports MySql.Data.MySqlClient
|
|
Imports System.ComponentModel
|
|
|
|
Public Class frm_arrange_matches
|
|
Private Sub btn_close_Click(sender As Object, e As EventArgs)
|
|
|
|
Me.Close()
|
|
|
|
End Sub
|
|
|
|
Private Sub frm_arrange_matches_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing
|
|
|
|
frm_event_control.Show()
|
|
|
|
End Sub
|
|
|
|
Private Sub btn_close_Click_1(sender As Object, e As EventArgs) Handles btn_close.Click
|
|
|
|
Me.Close()
|
|
|
|
End Sub
|
|
|
|
Private Sub frm_arrange_matches_Load(sender As Object, e As EventArgs) Handles Me.Load
|
|
|
|
FunGetStats()
|
|
cbo_gender.SelectedIndex = 0
|
|
SubPopulateListBox(FunListSetMatches(cbo_category.SelectedValue), lst_matches_set)
|
|
|
|
End Sub
|
|
|
|
Private Sub lst_matches_set_SelectedIndexChanged(sender As Object, e As EventArgs) Handles lst_matches_set.SelectedIndexChanged
|
|
|
|
Try
|
|
Load_Match_Data(lst_matches_set.SelectedValue)
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
|
|
'----------------------------------------------------------------------------------
|
|
' SPECIAL FUNCTIONS
|
|
'----------------------------------------------------------------------------------
|
|
|
|
Private Sub DisplayBlueFighter(Person As person)
|
|
|
|
Try
|
|
pb_blue_fighter.Image = Image.FromStream(Person.Picture)
|
|
Catch ex As Exception
|
|
pb_blue_fighter.Image = Nothing
|
|
End Try
|
|
|
|
Try
|
|
pb_blue_logo.Image = Image.FromStream(Person.Team.Logo)
|
|
Catch ex As Exception
|
|
pb_blue_logo.Image = Nothing
|
|
End Try
|
|
|
|
Try
|
|
pb_blue_flag.Image = Image.FromStream(Person.Team.Country.Flag)
|
|
Catch ex As Exception
|
|
pb_blue_flag.Image = Nothing
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
Private Sub DisplayRedFighter(Person As person)
|
|
|
|
Try
|
|
pb_red_fighter.Image = Image.FromStream(Person.Picture)
|
|
Catch ex As Exception
|
|
pb_red_fighter.Image = Nothing
|
|
End Try
|
|
|
|
Try
|
|
pb_red_logo.Image = Image.FromStream(Person.Team.Logo)
|
|
Catch ex As Exception
|
|
pb_red_logo.Image = Nothing
|
|
End Try
|
|
|
|
Try
|
|
pb_red_flag.Image = Image.FromStream(Person.Team.Country.Flag)
|
|
Catch ex As Exception
|
|
pb_red_flag.Image = Nothing
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
Private Function FunListSetMatches(WeightProfile As Integer) As List(Of dataset)
|
|
|
|
Dim QRY As String = ("
|
|
|
|
SELECT
|
|
event_matches.id as RecordNumber,
|
|
event_matches.eid as EventID,
|
|
event_matches.ern as EventRound,
|
|
event_matches.emn as MatchNumber,
|
|
concat(blue.fname, if(isnull(blue.mname), '', concat(' ', blue.mname)), ' ', blue.lname) as BlueFighter,
|
|
concat(red.fname, if(isnull(red.mname), '', concat(' ', red.mname)), ' ', red.lname) as RedFighter,
|
|
|
|
CASE
|
|
WHEN (isNull(event_matches.blue_fighter) = true OR isNull(event_matches.red_fighter) = true) THEN 'FREE'
|
|
WHEN (isNull(event_matches.blue_fighter) = false AND isNull(event_matches.red_fighter) = true) THEN 'UNSET'
|
|
WHEN (event_matches.blue_fighter != 0 AND event_matches.red_fighter != 0) THEN 'SET'
|
|
ELSE 'ERROR'
|
|
END as MatchSet,
|
|
|
|
CASE
|
|
WHEN (event_matches.started = 1 AND event_matches.ended = 1) THEN 'FINISHED'
|
|
WHEN (event_matches.started = 1 AND event_matches.ended = 0) THEN 'ONGOING'
|
|
WHEN (event_matches.started = 0 AND event_matches.ended = 0) THEN 'UPCOMING'
|
|
ELSE 'ERROR'
|
|
END as MatchStatus
|
|
|
|
FROM
|
|
event_matches
|
|
LEFT JOIN
|
|
person as blue on blue.id = event_matches.blue_fighter
|
|
LEFT JOIN
|
|
person as red on red.id = event_matches.red_fighter
|
|
WHERE
|
|
(blue_fighter != 0 OR red_fighter != 0)
|
|
AND
|
|
blue.wp = " & WeightProfile & "
|
|
AND
|
|
red.wp = " & WeightProfile & "
|
|
ORDER BY
|
|
event_matches.ern,
|
|
event_matches.emn;
|
|
|
|
")
|
|
|
|
Dim CON As New MySqlConnection(CON_STRING)
|
|
Dim COM As New MySqlCommand(QRY, CON)
|
|
Dim RDR As MySqlDataReader
|
|
Dim LST As New List(Of dataset)
|
|
|
|
Try
|
|
CON.Open()
|
|
RDR = COM.ExecuteReader
|
|
If RDR.HasRows = True Then
|
|
While RDR.Read
|
|
LST.Add(New dataset(RDR("RecordNumber"), "R" & RDR("EventRound") & " M" & RDR("MatchNumber") & " : " & RDR("BlueFighter") & " VS " & RDR("RedFighter")))
|
|
End While
|
|
End If
|
|
CON.Close()
|
|
Catch ex As MySqlException
|
|
MessageBox.Show(ex.Message)
|
|
Finally
|
|
CON.Dispose()
|
|
End Try
|
|
|
|
Return LST
|
|
|
|
End Function
|
|
|
|
Private Function FunListPerson(Filter As String) As List(Of dataset)
|
|
|
|
Dim QRY As String = ("
|
|
|
|
select
|
|
distinct
|
|
person.id, concat(person.fname, if(isnull(person.mname), '', concat(' ', person.mname)), ' ', person.lname) as name
|
|
from
|
|
person
|
|
where
|
|
concat(fname, if(isnull(mname), '', concat(' ', mname)), ' ', lname) like '%" & Filter & "%'
|
|
order by
|
|
fname,
|
|
mname,
|
|
lname
|
|
asc
|
|
")
|
|
|
|
Dim CON As New MySqlConnection(CON_STRING)
|
|
Dim COM As New MySqlCommand(QRY, CON)
|
|
Dim RDR As MySqlDataReader
|
|
Dim LST As New List(Of dataset)
|
|
|
|
Try
|
|
CON.Open()
|
|
RDR = COM.ExecuteReader
|
|
If RDR.HasRows = True Then
|
|
While RDR.Read
|
|
LST.Add(New dataset(RDR("id"), RDR("name")))
|
|
End While
|
|
End If
|
|
CON.Close()
|
|
Catch ex As MySqlException
|
|
MessageBox.Show(ex.Message)
|
|
Finally
|
|
CON.Dispose()
|
|
End Try
|
|
|
|
Return LST
|
|
|
|
End Function
|
|
|
|
Private Function FunListParticipants(Type As String, eventID As Integer, Filter As String) As List(Of dataset)
|
|
|
|
Dim QRY As String = ("
|
|
|
|
select
|
|
distinct
|
|
person.id, concat(person.fname, if(isnull(person.mname), '', concat(' ', person.mname)), ' ', person.lname) as name
|
|
from
|
|
event_participants
|
|
left join
|
|
person on person.id = event_participants.pid
|
|
where
|
|
concat(fname, if(isnull(mname), '', concat(' ', mname)), ' ', lname) like '%" & Filter & "%'
|
|
and
|
|
event_participants.eid = " & eventID & "
|
|
and
|
|
event_participants.type = '" & Type & "'
|
|
order by
|
|
fname,
|
|
mname,
|
|
lname
|
|
asc
|
|
")
|
|
|
|
Dim CON As New MySqlConnection(CON_STRING)
|
|
Dim COM As New MySqlCommand(QRY, CON)
|
|
Dim RDR As MySqlDataReader
|
|
Dim LST As New List(Of dataset)
|
|
|
|
Try
|
|
CON.Open()
|
|
RDR = COM.ExecuteReader
|
|
If RDR.HasRows = True Then
|
|
While RDR.Read
|
|
LST.Add(New dataset(RDR("id"), RDR("name")))
|
|
End While
|
|
End If
|
|
CON.Close()
|
|
Catch ex As MySqlException
|
|
MessageBox.Show(ex.Message)
|
|
Finally
|
|
CON.Dispose()
|
|
End Try
|
|
|
|
Return LST
|
|
|
|
End Function
|
|
|
|
Private Sub FunGetStats()
|
|
|
|
Dim QRY As String = ("
|
|
|
|
SELECT
|
|
(select count(*) From (select * from event_matches where eid = " & SelectedEvent.ID & ") as TOTALMATCHES) as 'TOTAL',
|
|
(select count(*) From (select * from event_matches where eid = " & SelectedEvent.ID & " and (blue_fighter != 0 AND NOT isNull(blue_fighter)) and (red_fighter != 0 AND NOT isNull(red_fighter))) as SETMATCHES) as 'SET'
|
|
|
|
")
|
|
|
|
Dim CON As New MySqlConnection(CON_STRING)
|
|
Dim COM As New MySqlCommand(QRY, CON)
|
|
Dim RDR As MySqlDataReader
|
|
Dim LST As New List(Of dataset)
|
|
|
|
Try
|
|
CON.Open()
|
|
RDR = COM.ExecuteReader
|
|
If RDR.HasRows = True Then
|
|
While RDR.Read
|
|
|
|
Try
|
|
lbl_total_matches.Text = RDR("TOTAL")
|
|
Catch ex As Exception
|
|
lbl_total_matches.Text = 0
|
|
End Try
|
|
|
|
Try
|
|
lbl_set_matches.Text = RDR("SET")
|
|
Catch ex As Exception
|
|
lbl_set_matches.Text = 0
|
|
End Try
|
|
|
|
End While
|
|
End If
|
|
CON.Close()
|
|
Catch ex As MySqlException
|
|
MessageBox.Show(ex.Message)
|
|
Finally
|
|
CON.Dispose()
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
Private Sub Load_Match_Data(MatchID As Integer)
|
|
|
|
Dim QRY As String = ("
|
|
|
|
/*-----------------------------------------------------
|
|
THIS CODE IS FOR SEARCHING THE MATCH
|
|
BY MATCH ID NUMBER
|
|
-----------------------------------------------------*/
|
|
|
|
SELECT
|
|
event_matches.blue_fighter as 'blue',
|
|
event_matches.red_fighter as 'red'
|
|
FROM
|
|
event_matches
|
|
WHERE
|
|
(NOT event_matches.blue_fighter = 0 AND NOT isNull(event_matches.blue_fighter))
|
|
AND
|
|
(NOT event_matches.red_fighter = 0 AND NOT isNull(event_matches.red_fighter))
|
|
AND
|
|
event_matches.id = " & MatchID & "
|
|
AND
|
|
event_matches.eid = " & SelectedEvent.ID & "
|
|
ORDER BY
|
|
ern,
|
|
emn
|
|
asc
|
|
")
|
|
|
|
Dim CON As New MySqlConnection(CON_STRING)
|
|
Dim COM As New MySqlCommand(QRY, CON)
|
|
Dim RDR As MySqlDataReader
|
|
Dim LST As New List(Of dataset)
|
|
|
|
Try
|
|
CON.Open()
|
|
RDR = COM.ExecuteReader
|
|
If RDR.HasRows = True Then
|
|
While RDR.Read
|
|
|
|
Dim current_blue_fighter As person
|
|
|
|
Try
|
|
|
|
current_blue_fighter = New person(RDR("blue"))
|
|
|
|
Try
|
|
pb_blue_logo.Image = Image.FromStream(current_blue_fighter.Team.Logo)
|
|
Catch ex As Exception
|
|
pb_blue_logo.Image = Nothing
|
|
End Try
|
|
|
|
Try
|
|
pb_blue_flag.Image = Image.FromStream(current_blue_fighter.Team.Country.Flag)
|
|
Catch ex As Exception
|
|
pb_blue_flag.Image = Nothing
|
|
End Try
|
|
|
|
Try
|
|
pb_blue_fighter.Image = Image.FromStream(current_blue_fighter.Picture)
|
|
Catch ex As Exception
|
|
pb_blue_fighter.Image = Nothing
|
|
End Try
|
|
|
|
Catch ex As Exception
|
|
|
|
current_blue_fighter = Nothing
|
|
|
|
End Try
|
|
|
|
Dim current_red_fighter As person
|
|
|
|
Try
|
|
|
|
current_red_fighter = New person(RDR("red"))
|
|
|
|
Try
|
|
pb_red_logo.Image = Image.FromStream(current_red_fighter.Team.Logo)
|
|
Catch ex As Exception
|
|
pb_red_logo.Image = Nothing
|
|
End Try
|
|
|
|
Try
|
|
pb_red_flag.Image = Image.FromStream(current_red_fighter.Team.Country.Flag)
|
|
Catch ex As Exception
|
|
pb_red_flag.Image = Nothing
|
|
End Try
|
|
|
|
Try
|
|
pb_red_fighter.Image = Image.FromStream(current_red_fighter.Picture)
|
|
Catch ex As Exception
|
|
pb_red_fighter.Image = Nothing
|
|
End Try
|
|
|
|
Catch ex As Exception
|
|
|
|
current_red_fighter = Nothing
|
|
|
|
End Try
|
|
|
|
End While
|
|
End If
|
|
CON.Close()
|
|
Catch ex As MySqlException
|
|
MessageBox.Show(ex.Message)
|
|
Finally
|
|
CON.Dispose()
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
Private Function Load_Weight_Profiles(Gender As String) As List(Of dataset)
|
|
|
|
Dim QRY As String = ("
|
|
|
|
/*-----------------------------------------------------
|
|
THIS CODE IS FOR SEARCHING THE MATCH
|
|
BY MATCH ID NUMBER
|
|
-----------------------------------------------------*/
|
|
|
|
SELECT
|
|
distinct
|
|
weight_divisions.id,
|
|
weight_divisions.category,
|
|
weight_divisions.className
|
|
FROM
|
|
event_participants
|
|
LEFT JOIN
|
|
person ON event_participants.pid = person.id
|
|
LEFT JOIN
|
|
weight_divisions ON weight_divisions.id = person.wp
|
|
WHERE
|
|
person.gender = '" & Gender & "'
|
|
ORDER BY
|
|
weight_divisions.category,
|
|
weight_divisions.gender,
|
|
weight_divisions.className
|
|
")
|
|
|
|
Dim CON As New MySqlConnection(CON_STRING)
|
|
Dim COM As New MySqlCommand(QRY, CON)
|
|
Dim RDR As MySqlDataReader
|
|
Dim LST As New List(Of dataset)
|
|
|
|
Try
|
|
CON.Open()
|
|
RDR = COM.ExecuteReader
|
|
If RDR.HasRows = True Then
|
|
While RDR.Read
|
|
LST.Add(New dataset(RDR("id"), (RDR("category") & " : " & RDR("className"))))
|
|
End While
|
|
End If
|
|
CON.Close()
|
|
Catch ex As MySqlException
|
|
MessageBox.Show(ex.Message)
|
|
Finally
|
|
CON.Dispose()
|
|
End Try
|
|
|
|
Return LST
|
|
|
|
End Function
|
|
|
|
Private Sub cbo_gender_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbo_gender.SelectedIndexChanged
|
|
|
|
Try
|
|
SubPopulateComboBox(Load_Weight_Profiles(cbo_gender.Text), cbo_category)
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
Private Sub cbo_category_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbo_category.SelectedIndexChanged
|
|
|
|
Try
|
|
SubPopulateListBox(FunListSetMatches(cbo_category.SelectedValue), lst_matches_set)
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
End Class |