< назад

CHANGE LOG

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




XML - схема



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