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)Сохранение"Сохранение лога в БД