In order to catch errors etc. I thought I'd create a global error class that I could drop any errors (mainly db errors) into.
So in a globalBLL I have:-
Then I have an AddUser function in my DALCode:Namespace MyApp.App.BLL.Globals Public Class MyAppError #Region "Private Variables" Private _err As String = String.Empty #End Region #Region "Properties" Public Property err() As String Get Return _err End Get Set(ByVal value As String) _err = value End Set End Property #End Region #Region "Constructors" Public Sub New() End Sub Public Sub New(ByVal _Err As String) Me.err = _Err End Sub #End Region End Class End Namespace
But I can't then obviously get the error instance in the page that called the function. Previously I had an err property in each class I created. Just wondered if there was a global way of handling this?Code:Public Shared Function AddUser(ByVal user As MyAppUser, ByVal ref As Integer) As Boolean Dim myErr as New MyAppError Dim conn As New MySqlConnection(ConnDAL.connString) Dim mycomm As New MySqlCommand("AddUser", conn) mycomm.CommandType = Data.CommandType.StoredProcedure Using conn Using mycomm Try Dim salt As String = CreateSalt(8) mycomm.Parameters.Add(New MySqlParameter("username", user.username)) mycomm.Parameters.Add(New MySqlParameter("pwdHash", CreatePasswordHash(user.pwdHash, salt))) mycomm.Parameters.Add(New MySqlParameter("pwdSalt", salt)) mycomm.Parameters.Add(New MySqlParameter("access", user.accessI)) mycomm.Parameters.Add(New MySqlParameter("forename", user.forename)) mycomm.Parameters.Add(New MySqlParameter("surname", user.surname)) Dim pAdd1 As MySqlParameter = mycomm.Parameters.Add("add1", MySqlDbType.VarChar) If String.IsNullOrEmpty(user.add1) Then pAdd1.Value = DBNull.Value Else pAdd1.Value = user.add1 End If Dim pAdd2 As MySqlParameter = mycomm.Parameters.Add("add2", MySqlDbType.VarChar) If String.IsNullOrEmpty(user.add2) Then pAdd2.Value = DBNull.Value Else pAdd2.Value = user.add2 End If Dim pAdd3 As MySqlParameter = mycomm.Parameters.Add("add3", MySqlDbType.VarChar) If String.IsNullOrEmpty(user.add3) Then pAdd3.Value = DBNull.Value Else pAdd3.Value = user.add3 End If Dim pCity As MySqlParameter = mycomm.Parameters.Add("city", MySqlDbType.VarChar) If String.IsNullOrEmpty(user.city) Then pCity.Value = DBNull.Value Else pCity.Value = user.city End If Dim pCounty As MySqlParameter = mycomm.Parameters.Add("county", MySqlDbType.VarChar) If String.IsNullOrEmpty(user.county) Then pCounty.Value = DBNull.Value Else pCounty.Value = user.county End If Dim pPostcode As MySqlParameter = mycomm.Parameters.Add("postcode", MySqlDbType.VarChar) If String.IsNullOrEmpty(user.postcode) Then pPostcode.Value = DBNull.Value Else pPostcode.Value = user.postcode End If Dim pTelno1 As MySqlParameter = mycomm.Parameters.Add("telno1", MySqlDbType.VarChar) If String.IsNullOrEmpty(user.telno1) Then pTelno1.Value = DBNull.Value Else pTelno1.Value = user.telno1 End If Dim pTelno2 As MySqlParameter = mycomm.Parameters.Add("telno2", MySqlDbType.VarChar) If String.IsNullOrEmpty(user.telno2) Then pTelno2.Value = DBNull.Value Else pTelno2.Value = user.telno2 End If Dim pFaxno1 As MySqlParameter = mycomm.Parameters.Add("faxno1", MySqlDbType.VarChar) If String.IsNullOrEmpty(user.faxno1) Then pFaxno1.Value = DBNull.Value Else pFaxno1.Value = user.faxno1 End If Dim pEmail As MySqlParameter = mycomm.Parameters.Add("email", MySqlDbType.VarChar) If String.IsNullOrEmpty(user.email) Then pEmail.Value = DBNull.Value Else pEmail.Value = user.email End If Dim pAddedby As MySqlParameter = mycomm.Parameters.Add("addedby", MySqlDbType.Int16) pAddedby.Value = ref Dim pUserref As MySqlParameter = mycomm.Parameters.Add("ref", MySqlDbType.Int16) pUserref.Direction = Data.ParameterDirection.Output conn.Open() mycomm.ExecuteNonQuery() user.ref = pUserref.Value Catch ex As Exception myErr.err = ex.ToString Finally mycomm.Dispose() conn.Close() conn.Dispose() End Try End Using End Using If String.IsNullOrEmpty(myErr.err) Then Return True Else Return False End If End Function



LinkBack URL
About LinkBacks
Reply With Quote

Bookmarks