aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/EventLogging
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-03-15 20:04:52 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-03-15 20:04:52 +0200
commit2836f1031bf9c1414a80620e040c1414a45c1648 (patch)
tree5b615d1da2023aaab6aa914cabfcbe0f4e897df8 /Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/EventLogging
parent74438bb2f5d3ad782dec27a8f00838175ae67f8c (diff)
downloadTango-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.cs51
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);
}