diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-03-15 20:04:52 +0200 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-03-15 20:04:52 +0200 |
| commit | 2836f1031bf9c1414a80620e040c1414a45c1648 (patch) | |
| tree | 5b615d1da2023aaab6aa914cabfcbe0f4e897df8 /Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/EventLogging | |
| parent | 74438bb2f5d3ad782dec27a8f00838175ae67f8c (diff) | |
| download | Tango-2836f1031bf9c1414a80620e040c1414a45c1648.tar.gz Tango-2836f1031bf9c1414a80620e040c1414a45c1648.zip | |
Working on machine events !
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/EventLogging')
| -rw-r--r-- | Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/EventLogging/DefaultEventLogger.cs | 51 |
1 files changed, 34 insertions, 17 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/EventLogging/DefaultEventLogger.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/EventLogging/DefaultEventLogger.cs index ff4badffe..3763a06b4 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/EventLogging/DefaultEventLogger.cs +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/EventLogging/DefaultEventLogger.cs @@ -33,6 +33,7 @@ namespace Tango.MachineStudio.Common.EventLogging private IAuthenticationProvider _authentication; private Dictionary<EventTypes, BL.Entities.EventType> _eventTypesGuids; private String _hostName; + private bool _isInitialized; #region Constructors @@ -47,21 +48,8 @@ namespace Tango.MachineStudio.Common.EventLogging _events = new ConcurrentQueue<MachinesEvent>(); - _db = ObservablesContext.CreateDefault(); - _db.Configuration.LazyLoadingEnabled = false; - _eventTypesGuids = new Dictionary<EventTypes, BL.Entities.EventType>(); - _db.ActionTypes.ToList(); - _db.EventTypesCategories.ToList(); - _db.EventTypesGroups.ToList(); - _db.EventTypes.ToList(); - - foreach (var type in _db.EventTypes) - { - _eventTypesGuids.Add((EventTypes)type.Code, type); - } - _application = applicationManager; _authentication = authenticationProvider; _logThread = new Thread(LogThreadMethod); @@ -73,6 +61,31 @@ namespace Tango.MachineStudio.Common.EventLogging #endregion + #region Private Methods + + private void Init() + { + if (!_isInitialized) + { + _db = ObservablesContext.CreateDefault(); + _db.Configuration.LazyLoadingEnabled = false; + + _db.ActionTypes.ToList(); + _db.EventTypesCategories.ToList(); + _db.EventTypesGroups.ToList(); + _db.EventTypes.ToList(); + + foreach (var type in _db.EventTypes) + { + _eventTypesGuids.Add((EventTypes)type.Code, type); + } + + _isInitialized = true; + } + } + + #endregion + #region Event Handlers /// <summary> @@ -135,7 +148,7 @@ namespace Tango.MachineStudio.Common.EventLogging /// </summary> /// <param name="sender">The sender.</param> /// <param name="events">The events.</param> - private void MachineEventsStateProvider_NewEvents(object sender, IEnumerable<Event> events) + private void MachineEventsStateProvider_NewEvents(object sender, IEnumerable<MachinesEvent> events) { foreach (var ev in events) { @@ -153,6 +166,11 @@ namespace Tango.MachineStudio.Common.EventLogging /// <param name="machineEvent">The machine event.</param> public void Log(MachinesEvent machineEvent) { + machineEvent.MachineGuid = _application.ConnectedMachine != null ? _application.ConnectedMachine.Guid : null; + machineEvent.UserGuid = _authentication.CurrentUser != null ? _authentication.CurrentUser.Guid : null; + machineEvent.HostName = _hostName; + machineEvent.EventType = _eventTypesGuids[machineEvent.Type]; + LogManager.Log("Logging event " + machineEvent.EventType.Name + " - " + machineEvent.Description); _events.Enqueue(machineEvent); } @@ -164,13 +182,12 @@ namespace Tango.MachineStudio.Common.EventLogging /// <param name="message">The message.</param> public void Log(EventTypes eventType, string message) { + Init(); + MachinesEvent machineEvent = new MachinesEvent(); - machineEvent.MachineGuid = _application.ConnectedMachine != null ? _application.ConnectedMachine.Guid : null; machineEvent.DateTime = DateTime.UtcNow; machineEvent.Description = message; machineEvent.EventType = _eventTypesGuids[eventType]; - machineEvent.UserGuid = _authentication.CurrentUser != null ? _authentication.CurrentUser.Guid : null; - machineEvent.HostName = _hostName; Log(machineEvent); } |
