Torna al Thread
Imports MySql.Data.MySqlClient
Imports DevComponents.DotNetBar.Metro
Imports System.IO
Public Class Main
Private Sub Main_Load(sender As Object, e As EventArgs) Handles Me.Load
BW_CaricaGiochi.RunWorkerAsync()
BW_CaricaClienti.RunWorkerAsync()
End Sub
'BACKGROUNDWORKER GIOCHI
Private Sub BW_CaricaGiochi_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles BW_CaricaGiochi.DoWork
Dim DB_ConnectionString As String = "Server=db4free.net;Database=games;Uid=rinogaetano94;Pwd=Aida17Come10Sei1994Bella"
Dim DB_Conn As MySqlConnection
Dim DB_DataReader As MySqlDataReader
Dim DB_Cmd As New MySqlCommand
DB_Conn = New MySqlConnection
DB_Conn.ConnectionString = DB_ConnectionString
Dim giochi As New List(Of MetroTileItem)
Dim scaricati As Int32 = 0
Dim totgiochi As Int32 = 0
Try
DB_Conn.Open()
DB_Cmd.Connection = DB_Conn
DB_Cmd.CommandText = "SELECT COUNT(*) FROM giochi"
DB_DataReader = DB_Cmd.ExecuteReader
While DB_DataReader.Read()
totgiochi = DB_DataReader(0)
End While
DB_DataReader.Close()
DB_Cmd.CommandText = "SELECT * FROM giochi"
DB_DataReader = DB_Cmd.ExecuteReader
If DB_DataReader.HasRows() Then
While DB_DataReader.Read()
Dim tile As New MetroTileItem
tile.TileSize = New Size(110, 150)
tile.ImageIndent = New Size(0, 0)
tile.TileStyle.BorderWidth = 1
tile.TileStyle.BorderColor = Color.Black
tile.TileStyle.Border = DevComponents.DotNetBar.eStyleBorderType.Solid
tile.Tooltip = DB_DataReader(1).ToString
tile.Text = DB_DataReader(1).ToString
Dim Client As New Net.WebClient
Dim URL As String = "https://live.xbox.com/consoleAssets/" + DB_DataReader(2) + "/it-it/largeboxart.jpg"
Dim Downloaded As Bitmap = Bitmap.FromStream(New MemoryStream(Client.DownloadData(URL)))
Dim bm_source As Bitmap = New Bitmap(Downloaded)
Dim scale As Double = bm_source.Height / bm_source.Width
Dim bm_dest As New Bitmap(CInt(110), CInt(150))
Dim gr_dest As Graphics = Graphics.FromImage(bm_dest)
gr_dest.DrawImage(bm_source, 0, 0, bm_dest.Width + 1, bm_dest.Height + 1)
tile.Image = bm_dest
Client.Dispose()
Downloaded.Dispose()
scaricati = scaricati + 1
BW_CaricaGiochi.ReportProgress(((scaricati / totgiochi) * 100))
'aggiungi tile
giochi.Add(tile)
End While
e.Result = giochi
End If
Catch ex As Exception
MessageBox.Show("Errore: " & ex.Message, "Errore!", MessageBoxButtons.OK, MessageBoxIcon.Information)
End Try
End Sub
Private Sub BW_CaricaGiochi_ProgressChanged(sender As Object, e As System.ComponentModel.ProgressChangedEventArgs) Handles BW_CaricaGiochi.ProgressChanged
ProgressBarGiochi.Visible = True
ProgressBarGiochi.Value = e.ProgressPercentage
CircularProgressGiochi.Visible = True
CircularProgressGiochi.IsRunning = True
End Sub
Private Sub BW_CaricaGiochi_RunWorkerCompleted(sender As Object, e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BW_CaricaGiochi.RunWorkerCompleted
ProgressBarGiochi.Visible = False
CircularProgressGiochi.Visible = False
For Each i As MetroTileItem In e.Result
tilepanel_giochi.Items.Add(i)
Next
tilepanel_giochi.Items.Sort()
tilepanel_giochi.Refresh()
End Sub
'BACKGROUNWORKER CLIENTI
Private Sub BW_CaricaClienti_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles BW_CaricaClienti.DoWork
Dim DB_ConnectionString As String = "Server=db4free.net;Database=games;Uid=rinogaetano94;Pwd=Aida17Come10Sei1994Bella"
Dim DB_Conn As MySqlConnection
Dim DB_DataReader As MySqlDataReader
Dim DB_Cmd As New MySqlCommand
DB_Conn = New MySqlConnection
DB_Conn.ConnectionString = DB_ConnectionString
Dim clienti As New List(Of MetroTileItem)
Dim scaricati As Int32 = 0
Dim totclienti As Int32 = 0
Try
DB_Conn.Open()
DB_Cmd.Connection = DB_Conn
DB_Cmd.CommandText = "SELECT COUNT(*) FROM clienti"
DB_DataReader = DB_Cmd.ExecuteReader
While DB_DataReader.Read()
totclienti = DB_DataReader(0)
End While
DB_DataReader.Close()
DB_Cmd.CommandText = "SELECT * FROM clienti"
DB_DataReader = DB_Cmd.ExecuteReader
If DB_DataReader.HasRows() Then
While DB_DataReader.Read()
Dim tile As New MetroTileItem
tile.Text = DB_DataReader(1).ToString + " " + DB_DataReader(2).ToString
scaricati = scaricati + 1
BW_CaricaGiochi.ReportProgress(((scaricati / totclienti) * 100))
'aggiungi tile
clienti.Add(tile)
End While
e.Result = clienti
End If
Catch ex As Exception
MessageBox.Show("Errore: " & ex.Message, "Errore!", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Private Sub BW_CaricaClienti_ProgressChanged(sender As Object, e As System.ComponentModel.ProgressChangedEventArgs) Handles BW_CaricaClienti.ProgressChanged
ProgressBarClienti.Visible = True
ProgressBarClienti.Value = e.ProgressPercentage
CircularProgressClienti.Visible = True
CircularProgressClienti.IsRunning = True
End Sub
Private Sub BW_CaricaClienti_RunWorkerCompleted(sender As Object, e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BW_CaricaClienti.RunWorkerCompleted
ProgressBarGiochi.Visible = False
CircularProgressGiochi.Visible = False
For Each i As MetroTileItem In e.Result
tilepanel_clienti.Items.Add(i)
Next
tilepanel_clienti.Items.Sort()
tilepanel_clienti.Refresh()
End Sub
'PULSANTI
Private Sub BtnAddGame_Click(sender As Object, e As EventArgs) Handles BtnAddGioco.Click
Dim add As New AddGame
If add.ShowDialog(Me) = Windows.Forms.DialogResult.OK Then
tilepanel_giochi.Items.Clear()
tilepanel_giochi.Refresh()
BW_CaricaGiochi.RunWorkerAsync()
End If
End Sub
Private Sub Btn_AddCliente_Click(sender As Object, e As EventArgs) Handles Btn_AddCliente.Click
Dim add As New AddCliente
If add.ShowDialog(Me) = Windows.Forms.DialogResult.OK Then
tilepanel_clienti.Items.Clear()
tilepanel_clienti.Refresh()
BW_CaricaClienti.Dispose()
BW_CaricaClienti.RunWorkerAsync()
End If
End Sub
Private Sub Btn_Info_Click(sender As Object, e As EventArgs) Handles Btn_Info.Click
AboutBox1.ShowDialog()
End Sub
End Class