1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208
|
Public Class F_Identification
Private Sub F_Identification_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
F_Menu.Cursor = Cursors.Default
'Mise en place de la fenêtre au centre de F_Menu
Me.CenterToParent()
CHB_Test.Visible = False
CHB_Local.Visible = False
If Not File.Exists(My.Settings.EmplacementFichierLog & "log.txt") Then
FichierLogErreurs = New StreamWriter(My.Settings.EmplacementFichierLog & "log.txt")
Else
FichierLogErreurs = File.AppendText(My.Settings.EmplacementFichierLog & "log.txt")
End If
End Sub
Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
OK.Text = "Traitement en cours..."
OK.Enabled = False
bgwDesign.RunWorkerAsync(CInt(100))
'Déclarations des variables
Dim Nombre As Integer
'PB_Chargement.PerformStep()
'Détermination des identifiants de connexion à la base de données.
hostBDD = "localhost"
identifiantBDD = "root"
passwordBDD = ""
NomBDD = "Basetravail"
If CHB_Test.Checked = True Then
hostBDD = "localhost"
identifiantBDD = "root"
passwordBDD = ""
NomBDD = "Basetravail"
End If
Cursor = Cursors.WaitCursor
Select Case True
Case String.IsNullOrEmpty(T_NomUtilisateur.Text)
F_Menu.Cursor = Cursors.Default
'Pseudo non rempli
MsgBox("Merci de saisir un pseudo", MsgBoxStyle.Exclamation)
T_NomUtilisateur.Focus()
T_NomUtilisateur.SelectAll()
PB_Chargement.Value = 0
Case String.IsNullOrEmpty(T_MDP.Text)
F_Menu.Cursor = Cursors.Default
'Mot de passe non rempli
MsgBox("Merci de saisir un mot de passe", MsgBoxStyle.Exclamation)
T_MDP.Focus()
T_MDP.SelectAll()
PB_Chargement.Value = 0
Case Else
'déclaration des variables de requête
Dim reqSelectnb As String
Dim dtnb As DataTable
PseudoSaisi = T_NomUtilisateur.Text
reqSelectnb = "select count(*) FROM UTILISATEURS where IdUtilisateur='" & PseudoSaisi & "' "
'PB_Chargement.PerformStep()
Try
dtnb = OrdresSQL.ReqSelection(reqSelectnb)
Nombre = dtnb.Rows(0).Item(0).ToString
'affectation du nombre dans nb
Catch ex As Exception
PB_Chargement.Value = 0
If ex.Message.Substring(0, 22) = "Access denied for user" Then
MessageBox.Show("Merci de revérifier votre pseudo ou votre mot de passe",
"Erreur d'identifiants BDD", MessageBoxButtons.OK, MessageBoxIcon.Information)
Else
LogErreur(ex.Message, "page : F_Identification", Requete)
End If
End Try
If Nombre = 0 Then
'En cas d'absence du pseudo dans la base de données.
F_Menu.Cursor = Cursors.Default
PB_Chargement.Value = 0
MsgBox("L'accès a cette application est restreint." &
(Chr(13)) & " Votre pseudo n'existe pas dans la base de données" &
(Chr(13)) & " Pour plus d'informations contacter l'administrateur de l'application.",
MsgBoxStyle.Critical,
"Accès refusé : Pseudo inconnu")
T_NomUtilisateur.Focus()
T_NomUtilisateur.SelectAll()
ElseIf Nombre = 1 Then
Dim reqSelectMdp As String
Dim dtlib As DataTable
'PB_Chargement.PerformStep()
'sélection du numéro, du mot de passe, et de l'id
reqSelectMdp = "select motPasseUtilisateur,numeroUtilisateur,idUtilisateur FROM UTILISATEURS where idUtilisateur='" & PseudoSaisi & "'"
dtlib = OrdresSQL.ReqSelection(reqSelectMdp)
'Affectation des données admin dans les variables
Password = dtlib.Rows(0).Item(0).ToString
NumeroUtilisateur = dtlib.Rows(0).Item(1).ToString
Pseudo = dtlib.Rows(0).Item(2).ToString
If Password <> T_MDP.Text Then
'Si le mot de passe saisi est différent de celui présent dans la base
F_Menu.Cursor = Cursors.Default
'PB_Chargement.Value = 0
'Affichage du message d'erreur
MsgBox("L'accès a cette application est restreint." &
(Chr(13)) & " Votre mot de passe ne correspond pas avec la base de données" &
(Chr(13)) & " Pour plus d'informations contacter l'administrateur de l'application.",
MsgBoxStyle.Critical,
"Accès refusé : Mot de passe inconnu")
T_MDP.Focus()
T_MDP.SelectAll()
Else
'Si le password et le pseudo correspondent alors connexion autorisée
'Avancement de la barre de chargement
'PB_Chargement.PerformStep()
'chargement des combos du menu
ChargerComboMenus()
'Préparation de la fenêtre menu
With F_Menu
.S_Infos.Visible = True
.M_Menu.Visible = True
.TS_IdUtilisateur.Text = "Bonjour " & Pseudo
.TS_Date.Text = "Nous somme le " & Now.Date.ToString("dddd d MMMM yyyy")
End With
FichierLogErreurs.WriteLine(Now.Date.ToString("dd-MM-yyyy") & " " & Now.Hour & ":" & Now.Minute)
FichierLogErreurs.WriteLine(Pseudo & " : Connexion à l'application")
Me.Close()
F_Menu.Cursor = Cursors.Default
If My.Settings.SiretSociété = Nothing Then
OuvertureFenêtre(F_Préférences)
End If
End If
End If
End Select
End Sub
Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel.Click
'Fermeture de l'application
Me.Close()
Application.Exit()
End Sub
Private Sub T_NomUtilisateur_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles T_NomUtilisateur.Click
SélectionDonnéesChamp(T_NomUtilisateur)
End Sub
Private Sub T_NomUtilisateur_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles T_NomUtilisateur.Leave
If T_NomUtilisateur.Text = "admin" Then
CHB_Test.Visible = True
CHB_Test.Checked = True
CHB_Local.Visible = True
End If
End Sub
Private Sub T_MDP_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles T_MDP.Click
SélectionDonnéesChamp(T_MDP)
End Sub
Private Sub bgwDesign_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bgwDesign.DoWork
Dim worker As BackgroundWorker = CType(sender, BackgroundWorker)
e.Result = Treatment(CInt(e.Argument), CInt(e.Argument), worker, e)
End Sub
Private Function Treatment(ByVal nb As Integer, ByVal max As Integer, ByVal worker As BackgroundWorker, ByVal e As DoWorkEventArgs) As Long
Dim result As Long = 0
If worker.CancellationPending Then
e.Cancel = True
Else
Dim pourcent As Integer = CInt(((CDec(max) - CDec(nb)) / CDec(max) * 100))
worker.ReportProgress(pourcent)
If nb <= 1 Then
result = 1
Else
System.Threading.Thread.Sleep(100)
result = Treatment(nb - 1, max, worker, e) + 1
End If
End If
Return result
End Function
Private Sub bgwDesign_RunWorkerCompleted(ByVal sender As System.Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles bgwDesign.RunWorkerCompleted
If Not (e.Error Is Nothing) Then
MsgBox("Une erreur est survenue ! Détail : " + e.Error.Message)
ElseIf e.Cancelled Then
MsgBox("Opération annulée !")
Else
MsgBox("OK")
End If
End Sub
Private Sub bgwDesign_ProgressChanged(ByVal sender As System.Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles bgwDesign.ProgressChanged
PB_Chargement.Value = e.ProgressPercentage
End Sub
End Class |
Partager