コード例 #1
0
        /// <summary>
        /// Consume record registration event.
        /// </summary>
        /// <param name="context">Event context.</param>
        public async Task Consume(ConsumeContext <IProcessData> context)
        {
            try
            {
                var recordTO = context.Message.Record;
                var(reportDTO, success) = await _dataProcessorService.ProcessData(recordTO);

                // Publish event on successful data processing.
                await context.Publish <IRecordProcessed>(new
                {
                    Message = $"{DataProcessorConstants.DATA_PROCESSING_SUCCESS} {DataProcessorConstants.COMMAND_ID}: {context.Message.CommandId}"
                });
            }
            catch (Exception ex)
            {
                _logger.LogError($"{DataProcessorConstants.EVENT_BUS_CONSUMER_ERROR}: {ex.Message}");
            }
        }
コード例 #2
0
        public async Task <IActionResult> ProcessData([FromBody] DataDTO data)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var(report, success) = await _dataProcessorService.ProcessData(data);

            if (!success)
            {
                _logger.LogWarning(DataProcessorConstants.DATA_PROCESSING_CONFLICT);
                return(Conflict());
            }

            _logger.LogInformation(DataProcessorConstants.DATA_PROCESSING_SUCCESS);
            return(Ok(report));
        }
コード例 #3
0
 public IActionResult Get()
 {
     return(Ok(_dataProcessorService.ProcessData()));
 }