public async Task AddMessageAsync(long resourceId, MessageEntity message) { try { _logger.LogDebug($"ResourceId: {resourceId} | Start AddMessageAsync"); var resource = await _repository.GetResourceAsync(resourceId); if (resource == null) { resource = new ResourceEntity(resourceId); _repository.AddResource(resource); } resource.AddMessage(message, GetNowInMilliseconds()); await _repository.SaveChangesAsync(); _logger.LogDebug($"ResourceId: {resourceId} | End AddMessageAsync"); } catch (DbUpdateException) // Concurrency, Uniqueness, or other data exception { _logger.LogWarning($"ResourceId: {resourceId} | DbUpdateException AddMessageAsync"); } }