void GenerateSessionEndEvent(SessionTimestamp timestamp) { Task.Run(async() => { var baseEvent = _eventSaver.GetWorkstationEvent(); baseEvent.WorkstationSessionId = timestamp.SessionId; baseEvent.UserSession = timestamp.SessionName; baseEvent.Date = timestamp.Time; baseEvent.Note = "Unexpected Shutdown"; baseEvent.EventId = WorkstationEventType.ComputerLock; // TODO: Maybe, add another event for Unexpected Shutdown await _eventSaver.AddNewAsync(baseEvent, true); }); }
/// <summary> /// Save specified timestamp into file /// </summary> void SaveOrUpdateTimestamp(SessionTimestamp timestamp) { lock (_fileLock) { try { var dir = Path.GetDirectoryName(_timestampFilePath); if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } using (StreamWriter sw = new StreamWriter(_timestampFilePath, false)) { var jsonData = JsonConvert.SerializeObject(timestamp); sw.WriteLine(jsonData); } } catch (Exception ex) { WriteLine(ex); } } }