Public Class P5Controller
Public Shared Function addNewGame(ByVal home_team_id As Integer, ByVal away_team_id As Integer, ByVal game_datetime As DateTime)
Dim errReturn As String = "Everything is Okey Dokey Insert is complete"
If game_datetime > System.DateTime.Now Then
Dim teams As Integer = validate(home_team_id, away_team_id, game_datetime)
If teams = 0 Then
P5DataManager.Insert(home_team_id, away_team_id, game_datetime)
Else
errReturn = "Team (" & teams & ") is Already playing that day"
End If
Else
errReturn = "Game Date must be the future game"
End If
Return errReturn
End Function
Public Shared Function getTeams() As DataSet
Return P5DataManager.getTeamsRecord
End Function
Public Shared Function getGamesScore() As DataSet
Return P5DataManager.getGameScoreInfo
End Function
Public Shared Function getGames() As DataSet
Return P5DataManager.getGamesShcedule
End Function
Public Shared Function getPastGame() As DataSet
Return P5DataManager.getPastGame
End Function
Public Shared Sub UpdateGames(ByVal id As Integer, ByVal game_datetime As DateTime, ByVal home_team_id As Integer, ByVal away_team_id As Integer, ByVal home_team As String, ByVal away_team As String)
Dim upTeam As DataSet
Try
If game_datetime.ToString = "" Then
Dim er As New Exception("Please enter game_datetime")
Throw er
End If
If Not IsDate(game_datetime) Then
Dim er As New Exception("Please enter right format datetime")
Throw er
End If
If home_team_id.ToString = "" Then
Dim er As New Exception("update complete")
Throw er
End If
upTeam = P5DataManager.getCheckGame(home_team_id)
If upTeam IsNot Nothing Then
If upTeam.Tables(0).Rows.Count = 0 Then
Dim er As New Exception("The home_team_id doesn't exist")
Throw er
End If
If away_team_id.ToString = "" Then
Dim er As New Exception("Please enter away team")
Throw er
End If
upTeam = P5DataManager.getCheckGame(away_team_id)
If upTeam IsNot Nothing Then
If upTeam.Tables(0).Rows.Count = 0 Then
Dim er As New Exception("away_team_id field doesn't exist")
Throw er
End If
upTeam = Nothing
End If
If CDate(game_datetime) <= Now Then
Dim er As New Exception("game must be the future")
Throw er
End If
If home_team_id.ToString = away_team_id.ToString Then
Dim er As New Exception("It can't be the same team")
Throw er
End If
Dim upGame As DataSet = P5DataManager.getGameDate(game_datetime, home_team_id, id)
If upGame.Tables(0).Rows.Count > 0 Then
Dim er As New Exception("Team is already playing")
Throw er
End If
P5DataManager.UpdateGamesInfo(id, game_datetime, home_team_id, away_team_id)
End If
Catch ex As Exception
Throw ex
End Try
End Sub
Public Shared Sub DeleteGameInfo(ByVal id As String)
P5DataManager.DeleteGameInfo(id)
End Sub
Public Shared Sub UpdateScores(ByVal game_id As String, ByVal home_team_score As String, ByVal away_team_score As String)
P5DataManager.UpdateScores(game_id, home_team_score, away_team_score)
End Sub
Public Shared Function validate(ByVal home_team_id As Integer, ByVal away_team_id As Integer, ByVal game_datetime As DateTime)
Dim teams As Integer
teams = home_team_id
If checkTeam(teams, game_datetime) Then
teams = away_team_id
If checkTeam(teams, game_datetime) Then
teams = 0
End If
End If
Return teams
End Function
Public Shared Function checkTeam(ByVal team As Integer, ByVal game_datetime As DateTime) As Boolean
Dim ds As DataSet
Dim result As Boolean = True
ds = P5DataManager.getGamesShceduleInfo(team)
If ds.Tables.Count > 0 Then
For Each gamRows As DataRow In ds.Tables(0).Rows
Dim tempDate As DateTime = gamRows.Item("game_datetime")
If tempDate.DayOfYear = game_datetime.DayOfYear Then
result = False
End If
Next
End If
Return result
End Function
End Class