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
   | 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