| 12
 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
 
 | Private Sub btSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btSave.Click
 
        If o_Proprietaire Is Nothing Then
            'demander au SI d'ajouter une catégorie
            o_Proprietaire = o_si.AjouterProprietaire(txtNom.Text, txtPrenom.Text, txtAdr.Text, txtMail.Text, txtTel.Text, txtMDP.Text, txtRemark.Text)
            If o_Proprietaire IsNot Nothing Then
                Me.Visible = False
            End If
        End If
        'demander au SI de modifier
        If o_si.ModifierProprietaire(o_Proprietaire, txtNom.Text, txtPrenom.Text, txtAdr.Text, _
                                      txtTel.Text, txtMail.Text, txtMDP.Text, txtRemark.Text) Then
            Me.Visible = False
        End If
 
    End Sub
 
 
 
  Public Function AjouterProprietaire(ByVal TheNom As String, ByVal ThePrenom As String, ByVal TheAdr As String, _
                                        ByVal TheMail As String, ByVal TheTel As String, ByVal TheMDP As String, ByVal TheRemark As String) As Proprietaire
        Dim TRANS As OleDb.OleDbTransaction = Nothing
        Dim NouveauProprio As Proprietaire
        Dim TheId As String = GenerateProId()
        ' 
 
        Try
            Dim o_cnx As New OleDb.OleDbConnection
            o_cnx.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Elissa\Desktop\Location\Location.mdb"
            o_SQLInsertPro = New OleDb.OleDbCommand()
            o_SQLInsertPro.Connection = o_cnx
            o_SQLInsertPro.Connection.Open()
            '--- Début de transaction
            TRANS = o_SQLInsertPro.Connection.BeginTransaction
            '--- La commande doit travailller sous la transaction
            o_SQLInsertPro.Transaction = TRANS
            '--- Donner les valeurs des paramètres
            'INSERT INTO PROPRIETAIRE
            '(PRO_NOM, PRO_PRENOM, PRO_COORD, PRO_TEL, PRO_MAIL, PRO_MDP, PRO_REMARK, PRO_ID)
            'VALUES        (?, ?, ?, ?, ?, ?, ?, ?)
            o_SQLInsertPro.Parameters.Item(0).Value = TheNom
            o_SQLInsertPro.Parameters.Item(1).Value = ThePrenom
            o_SQLInsertPro.Parameters.Item(2).Value = TheAdr
            o_SQLInsertPro.Parameters.Item(3).Value = TheMail
            o_SQLInsertPro.Parameters.Item(4).Value = TheMDP
            o_SQLInsertPro.Parameters.Item(4).Value = TheRemark
            o_SQLInsertPro.Parameters.Item(4).Value = TheId
 
            Dim Nb As Integer = o_SQLInsertPro.ExecuteNonQuery
            If Nb = 1 Then
                TRANS.Commit()
                '--- Ajout dans le monde objet
                NouveauProprio = New Proprietaire(TheId, TheNom, ThePrenom, TheAdr, TheTel, TheMail, TheMDP, TheRemark)
                o_ListProprietaire.Ajouter(NouveauProprio)
                Return NouveauProprio
            Else : TRANS.Rollback()
            End If
        Catch ex As Exception
            If TRANS IsNot Nothing Then
                TRANS.Rollback()
            End If
        End Try
        Return Nothing
    End Function
 
    Public Function ModifierProprietaire(ByVal TheProprietaire As Proprietaire, _
                                     ByVal TheNewNom As String, _
                                     ByVal TheNewPrenom As String, _
                                     ByVal TheNewAdr As String, _
                                     ByVal TheNewTel As String, _
                                     ByVal TheNewMail As String, _
                                     ByVal TheNewMDP As String, _
                                     ByVal TheNewRemark As String) As Boolean
 
        Dim TRANS As OleDb.OleDbTransaction = Nothing
        Dim Aretourner As Boolean = Nothing
 
        Try
            Dim o_cnx As New OleDb.OleDbConnection
 
            o_cnx.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Elissa\Desktop\Location\Location.mdb"
            o_SQLUpdatePro = New OleDb.OleDbCommand()
            o_SQLUpdatePro.Connection = o_cnx
            o_SQLUpdatePro.Connection.Open()
            '--- Début de la transaction
            TRANS = o_SQLUpdatePro.Connection.BeginTransaction
            '--- La commande doit travailler sous la transaction
            o_SQLUpdatePro.Transaction = TRANS
            '--- Donner les valeurs des paramètres
            'UPDATE(Proprietaire)
            'SET PRO_NOM = ?, PRO_PRENOM=?, PRO_COORD=?, PRO_TEL=?, PRO_MAIL=?, PRO_MDP=?, PRO_REMARK=?
            'WHERE (PRO_ID = ?)
            o_SQLUpdatePro.Parameters.Item(0).Value = TheNewNom
            o_SQLUpdatePro.Parameters.Item(1).Value = TheNewPrenom
            o_SQLUpdatePro.Parameters.Item(2).Value = TheNewAdr
            o_SQLUpdatePro.Parameters.Item(3).Value = TheNewTel
            o_SQLUpdatePro.Parameters.Item(4).Value = TheNewMail
            o_SQLUpdatePro.Parameters.Item(5).Value = TheNewMDP
            o_SQLUpdatePro.Parameters.Item(6).Value = TheNewRemark
            o_SQLUpdatePro.Parameters.Item(7).Value = TheProprietaire.Id
 
            Dim nb As Integer = o_SQLUpdatePro.ExecuteNonQuery
            If nb = 1 Then
                TRANS.Commit()
                'Modif dans le monde objet
                TheProprietaire.Nom = TheNewNom
                TheProprietaire.Prenom = TheNewPrenom
                TheProprietaire.Coord = TheNewAdr
                TheProprietaire.Mail = TheNewMail
                TheProprietaire.Telephone = TheNewTel
                TheProprietaire.MDP = TheNewMDP
                TheProprietaire.Remarques = TheNewRemark
 
                Aretourner = True
            Else
                TRANS.Rollback()
            End If
        Catch ex As Exception
            If TRANS IsNot Nothing Then
                TRANS.Rollback()
            End If
        End Try
        Return Aretourner
    End Function | 
Partager