public ReplaceStudentsAggregate(RepositoryContext context, Guid classId, Guid[] studentsId) : base(context) { RootEntity = new ClassEnrollmentEntity { Id = new ClassEnrollmentEntityId { ClassId = classId } }; var removeBinaryEntities = new DeleteLinksCommandOperation <ClassEnrollmentEntity>(RootEntity, selector: null); Enqueue(removeBinaryEntities); foreach (var studentId in studentsId) { RootEntity = new ClassEnrollmentEntity { Id = new ClassEnrollmentEntityId { ClassId = classId, StudentId = studentId }, StartedDateTime = DateTime.Now }; var insertBinaryEntity = new InsertEntityCommandOperation <ClassEnrollmentEntity>(RootEntity); Enqueue(insertBinaryEntity); } }
public ReplacePagesAggregate(RepositoryContext context, BookEntity bookEntity, PageInputDto[] pageInputDtos) : base(context) { RootEntity = bookEntity; var removeLinkedEntities = new DeleteLinksCommandOperation <BookEntity>(bookEntity, selector: null); Enqueue(removeLinkedEntities); foreach (var pageInputDto in pageInputDtos) { var addPage = new AddLinkedEntityCommandOperation <BookEntity, PageEntity>( bookEntity, () => new PageEntity { Index = pageInputDto.Index }); Enqueue(addPage); } }