private async Task ProcessEventToTable()

in functions/source/real-time-adherence/AspectKinesisLamda/ProcessKinesisEvents.cs [312:330]


        private async Task ProcessEventToTable(ConnectKinesisEventRecord streamRecord)
        {
            _logger.Trace("Beginning ProcessEventsToDynamoTable");

            var dynamoRecord = await _aeDbContext.LoadAsync<ConnectKinesisEventRecord>(streamRecord.AgentARN);
            if (dynamoRecord == null || streamRecord.LastEventTimeStamp >= dynamoRecord.LastEventTimeStamp)
            {
                await _aeDbContext.SaveAsync(streamRecord); 
            }
            else 
            {
                _logger.Warn($"Stream record event timestamp {streamRecord.LastEventTimeStamp} is prior to dynamo record event timestamp {dynamoRecord.LastEventTimeStamp}.");
                _logger.Warn($"Current Stream Record Json {streamRecord.RawAgentEventJSon}");
                _logger.Warn($"Current Dynamo Record Json {dynamoRecord.RawAgentEventJSon}");              
            }
            //NOTE: ignores if record old/out-of-order since all info out-of-date; not excepted to be out of order - very rare possiblity

            _logger.Trace("Ending ProcessEventsToDynamoTable");
        }