private async Task ProccessEvents() { List <IntegrationEventLog> localIntegrationEvents = await _integrationEventLogRepository.GetAllReadyToPulishAndUpdateTheirStatuses(); foreach (var @event in localIntegrationEvents) { object obj = @event.Content.DeserializeJson(); var messageId = @event.MessageId; await _endpoint.Publish(obj, messageId).ConfigureAwait(false); @event.State = EventStateEnum.Published; await _integrationEventLogRepository.UpdateAsync(@event); await _integrationEventLogRepository.UnitOfWork.SaveChangesAsync(); } }