Exemplo n.º 1
0
        public void AddNew(WorkstationEvent workstationEvent, bool sendImmediatelly = false)
        {
            lock (_writeLock)
            {
                try
                {
                    WriteLine($"New event: {workstationEvent.EventId} - (session id: {workstationEvent.WorkstationSessionId})");

                    string json = JsonConvert.SerializeObject(workstationEvent);
                    string file = $"{EventsDirectoryPath}{workstationEvent.Id}";
                    File.WriteAllText(file, json);
                    File.SetCreationTimeUtc(file, workstationEvent.Date); // Event file creation date should match the event time

                    if (sendImmediatelly)
                    {
                        UrgentEventSaved?.Invoke(this, EventArgs.Empty);
                    }
                }
                catch (Exception ex)
                {
                    WriteLine(ex);
                }
            }
        }
Exemplo n.º 2
0
 /// <summary>
 /// Add new workstation event to the events queue
 /// </summary>
 /// <param name="workstationEvent">Workstation event to queue</param>
 /// <param name="sendImmediatelly">If true, event sending is performed immediatelly after queuing event</param>
 public async Task AddNewAsync(WorkstationEvent workstationEvent, bool sendImmediatelly = false)
 {
     await Task.Run(() => { AddNew(workstationEvent, sendImmediatelly); });
 }