public void Invoke(CourseId id, CourseName name, CourseDuration duration) { Course course = Course.Create(id, name, duration); this.Repository.Save(course); this.Bus.Publish(course.PullDomainEvent()); }
public void Invoke(CreateCourseCommand command) { CourseId id = new CourseId(command.Id); CourseName name = new CourseName(command.Name); CourseDuration duration = new CourseDuration(command.Duration); this.Creator.Invoke(id, name, duration); }
public async Task Handle(CreateCourseCommand command) { var id = new CourseId(command.Id); var name = new CourseName(command.Name); var duration = new CourseDuration(command.Duration); await _creator.Create(id, name, duration); }
public async Task Create(CourseId id, CourseName name, CourseDuration duration) { var course = Course.Create(id, name, duration); await _repository.Save(course); await _eventBus.Publish(course.PullDomainEvents()); }
public async Task Invoke(CreateCourseRequest request) { var id = new CourseId(request.Id); var name = new CourseName(request.Name); var duration = new CourseDuration(request.Duration); Course course = Course.Create(id, name, duration); await this._repository.Save(course); await this._eventBus.Publish(course.PullDomainEvents()); }
public static Course Create(CourseId id, CourseName name, CourseDuration duration) { return(new Course(id, name, duration)); }
public static CreateCourseRequest Create(CourseId id, CourseName name, CourseDuration duration) { return(new CreateCourseRequest(id.Value, name.Value, duration.Value)); }
public static CourseCreatedDomainEvent Create(CourseId id, CourseName name, CourseDuration duration) { return(new CourseCreatedDomainEvent(id.Value, name.Value, duration.Value)); }