示例#1
0
        private void Initialize(CreateUserInputDto user, EntityDependency[] dependencies)
        {
            RegisterCommandRepositoryFactory <User>(() => new UserCommandRepository());

            RegisterCommandRepositoryFactory <User_UserLogins_CommandRepository.RepositoryKey>(() => new User_UserLogins_CommandRepository());

            RootEntity = new User
            {
                UserName           = user.UserName,
                Email              = user.Email,
                NormalizedUserName = user.UserName.ToUpperInvariant(),
                NormalizedEmail    = user.Email.ToUpperInvariant()
            };

            Enqueue(new InsertEntityCommandOperation <User>(RootEntity, dependencies));

            foreach (var dto in user.UserLogins)
            {
                var userLoginValueObject = new UserLogin
                {
                    Provider = dto.Provider,
                    UserKey  = dto.UserKey
                };

                Enqueue(new AddLinkedValueObjectCommandOperation <User, UserLogin, User_UserLogins_CommandRepository.RepositoryKey>(RootEntity, userLoginValueObject));
            }
        }
示例#2
0
 public CreateUserCommandAggregate(CreateUserInputDto user, EntityDependency[] dependencies = null) : base(new DomainFramework.DataAccess.RepositoryContext(UserWithUserLoginsConnectionClass.GetConnectionName()))
 {
     Initialize(user, dependencies);
 }