Interfaces/ActiveDirectory: Better error handling in UpdateUser, Add Language Reference

This commit is contained in:
Jonathan Jenne
2021-08-18 10:54:10 +02:00
parent 3138f34d1a
commit e1d0e38057
2 changed files with 25 additions and 1 deletions

View File

@@ -1,5 +1,6 @@
Imports DigitalData.Modules.Database
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Language
Namespace SyncUsers
Public Class SyncUsersMSSQL
@@ -209,10 +210,24 @@ Namespace SyncUsers
Private Function UpdateUser(User As ADUser) As Integer
Try
If User Is Nothing Then
_logger.Warn("Error in UpdateUser - User object is nothing")
Return 0
End If
If User.samAccountName Is Nothing Then
_logger.Warn("Error in UpdateUser - User samAccountName is nothing")
Return 0
End If
Dim oUserId As Integer = GetUserId(User.samAccountName)
If Not IsNothing(oUserId) Then
If oUserId > 0 Then
Dim oSQL As String = $"UPDATE TBDD_USER SET PRENAME = '{User.GivenName}', NAME = '{User.Surname.Replace("'", "''")}', EMAIL = '{User.Email.Replace("'", "''")}', CHANGED_WHO = '{ADDED_WHO}' WHERE GUID = {oUserId}"
Dim oGivenName As String = EscapeQuotes(User.GivenName)
Dim oSurname As String = EscapeQuotes(User.Surname)
Dim oEmail As String = EscapeQuotes(User.Email)
Dim oSQL As String = $"UPDATE TBDD_USER SET PRENAME = '{oGivenName}', NAME = '{oSurname}', EMAIL = '{oEmail}', CHANGED_WHO = '{ADDED_WHO}' WHERE GUID = {oUserId}"
Dim oResult = _mssql.ExecuteNonQuery(oSQL)
If oResult = True Then
@@ -234,6 +249,11 @@ Namespace SyncUsers
End Try
End Function
Private Function EscapeQuotes(pString As String)
Dim oString = Utils.NotNull(pString, String.Empty)
Return oString.Replace("'", "''")
End Function
Public Sub AddCustomAttributesToUser(User As ADUser, UserId As Integer) Implements ISyncUsers.AddCustomAttributesToUser
Dim oCustomAttributes = User.CustomAttributes