CHANGE LOG
Change Log - список изменений, которые вносятся пользователем в различные области системы YuniquePLM.

Private strChangeManagementEnabled As String = Yunique.Core.Library.ConfigHandler.GetAppSettings(Yunique.Core.Library.ConfigHandler.AppSettings("SYSTEM"))("ChangeManagementEnabled")           "Конфиг глобально включающий/отключающий функциональность логирования
"функция вызываемая для инициализации хендлера, большинство параметров подбираетсч под определенную страницу
Private Function InitChangeLog(ByVal objChange As ChangeLogHandler) As ChangeLogHandler
With objChange
.strChangePKID = _StyleID
.ChangeSessionID = Me.ChangeSessionID
.ChangeTransactionID = Me.ChangeTransactionID
.ChangeUserID = Me.UserProperties.TeamID
.ChangeUserName = Me.UserProperties.Fullname
.TrackChange = .GetStyleChangeManagementEnabled(_StyleID)
.ChangeTableId = .GetStyleWorkflowChangeTableId(_WorkflowID)
.ChangeTransTableID = .ChangeTableId
.PreferredLanguage = Me.UserProperties.PrefLang
.ChangeLogNotificationSubject = String.Format("Style {0} changed", Me.StyleNo)
.ChangeLogNotificationRecepients = .GetStyleWorkflowNotificationRecipients(_StyleID, StyleSet, WorkflowID)
.ChangeLogUrl = String.Format("/Change/Change_Folder.aspx?CLTID={0}&CTTPKID={1}&SID={2}&SN={3}", .ChangeTransTableID, .strChangePKID, StyleID, StyleSet)
End With
Return objChange
End Function
Using oCnn As New SqlConnection(strConnection), objChange As New ChangeLogHandler(oCnn)
InitChangeLog(objChange)
ChangeLogHandler "класс ответсвенный за логирование If Not strBeforeChange = strAfterChange Then
If strBeforeChange = String.Empty Then strBeforeChange = "NULL"If objXmlHandler.ControlType() = "dropdownlist" Then
If strBeforeChange = "NULL" Then strBeforeChange = "00000000-0000-0000-0000-000000000000
objChange.CreateListArray(objXmlHandler.EnableTrackChange, objXmlHandler.ControlName.Substring(3), objXmlHandler.LabelName, _
objXmlHandler.LookupQuery, objXmlHandler.ValueField, objXmlHandler.TextField, _
strBeforeChange, strAfterChange, strBeforeChange, strAfterChange, ChangeLogHandler.ChangeType.UPDATE)
Else
objChange.CreateListArray(objXmlHandler.EnableTrackChange, objXmlHandler.ControlName.Substring(3), objXmlHandler.LabelName, _ "", "", "", strBeforeChange, strAfterChange, strBeforeChange, strAfterChange, ChangeLogHandler.ChangeType.UPDATE)
End If
If objXmlHandler.EnableTrackChange Then
strChangeType = "UPDATE"
End If
End If"пример добавления записи в лог
If strChangeType = "UPDATE" Then
objChange.blnChanged = True
End If"обязательно установить свойство blnChanged в true, если были изменения
ChangeTransactionID = objChange.SaveChangeLog(Page.ToString)"Сохранение лога в БД