public async Task Handle(RemoveClientServiceCommand message) { if (message == null) { throw new ArgumentNullException(nameof(message)); } var record = await _repository.Get(message.AnnouncementId); if (record == null || (record.Subject != message.Subject)) { return; } if (!await _repository.Delete(record.Id)) { return; } _eventPublisher.Publish(new ClientServiceRemovedEvent { AnnouncementId = message.AnnouncementId, Subject = message.Subject, CommonId = message.CommonId }); }