Может ли одна команда запускать другие команды в CQRS или состоять из других команд?
Заданный случай c, который меня интересует, заключается в том, что у меня есть команда «CreateAppointmentNote», которая создает заметку для существующего деловое свидание, встреча. У меня также есть команда «CreateAppointment», которая создает встречу (без примечаний).
Мне нужно добавить функциональность так, чтобы, если объект, используемый в команде «CreateAppointment», имел значения для заметки, он также должен был создавать заметку. Может ли команда «CreateAppointment» вызывать команду «CreateAppointmentNote» для этого?
Конечная цель этого состоит в том, чтобы один вызов к конечной точке POST встреч мог добавлять примечания вместо необходимости вызывать другую конечную точку для Примечания также при первоначальном создании встречи, в которой есть заметки.
Я понимаю, что могу вызвать команду встречи, а затем команду заметок, но это может привести к странному частичному успеху, если добавление встречи в БД успешно, но добавление примечаний завершается неудачей.
Я просто пытаюсь найти правильный способ сделать это чисто в CQRS и избегать простого копирования кода из одной команды в другую, если это возможно.