/// <remarks>This method is thread-safe.</remarks>
        public void Enqueue(EntryBase entry)
        {
            if (entry == null)
            {
                throw new ArgumentNullException(nameof(entry));
            }

            switch (entry)
            {
            case CycleData cycle: m_CycleDataQueue.Enqueue(cycle); break;

            case MoldData mold: m_MoldDataQueue.Enqueue(mold); break;

            case Alarm alarm: m_AlarmsQueue.Enqueue(alarm); break;

            case AuditTrail audit: m_AuditTrailQueue.Enqueue(audit); break;

            case Event ev: m_EventsQueue.Enqueue(ev); break;

            default: throw new ApplicationException();
            }

            m_LastEnqueueTime  = DateTime.Now;
            m_LastDebugMessage = DateTime.MinValue;
        }
 /// <remarks>This method is thread-safe.</remarks>
 public void Enqueue(EntryBase entry)
 {
     if (entry == null)
     {
         throw new ArgumentNullException(nameof(entry));
     }
     m_DataUploadQueue.Enqueue(entry);
 }
        private string MapTable(EntryBase entry)
        {
            switch (entry)
            {
            case null: throw new ArgumentNullException(nameof(entry));

            case CycleData _: return(Storage.CycleDataTable);

            case Alarm _: return(Storage.AlarmsTable);

            case AuditTrail _: return(Storage.AuditTrailTable);

            case Event _: return(Storage.EventsTable);

            default: return(null);
            }
        }
        private CloudTable MapTable(EntryBase entry)
        {
            switch (entry)
            {
            case null: throw new ArgumentNullException(nameof(entry));

            case CycleData _: return(m_CycleDataTable);

            case MoldData _: return(m_MoldDataTable);

            case Alarm _: return(m_AlarmsTable);

            case AuditTrail _: return(m_AuditTrailTable);

            case Event _: return(m_EventsTable);

            default: throw new ApplicationException();
            }
        }