コード例 #1
0
 public UpdateSpaceCommandHandler(
     IAggregateRepository aggregateRepository,
     ISpaceChecker spaceValidatorService,
     IResourceAuthorizationService resourceAuthorizationService)
 {
     _aggregateRepository          = aggregateRepository;
     _spaceValidatorService        = spaceValidatorService;
     _resourceAuthorizationService = resourceAuthorizationService;
 }
コード例 #2
0
 public CreateSpaceCommandHandler(
     ICurrentUser currentUser,
     ISpaceChecker spaceChecker,
     IAggregateRepository aggregateRepository)
 {
     _currentUser         = currentUser;
     _spaceChecker        = spaceChecker;
     _aggregateRepository = aggregateRepository;
 }
コード例 #3
0
ファイル: Space.cs プロジェクト: linwenda/Funzone
    public static Space Initialize(ISpaceChecker spaceValidatorService, Guid userId, string name,
                                   string backgroundImage, Visibility visibility)
    {
        if (!spaceValidatorService.IsUniqueNameInUserSpace(userId, name))
        {
            throw new SpaceNameAlreadyExistsException();
        }

        var space = new Space(Guid.NewGuid());

        space.ApplyChange(new SpaceCreatedEvent(space.Id, space.GetNextVersion(), userId, name, backgroundImage,
                                                visibility));

        return(space);
    }
コード例 #4
0
ファイル: Space.cs プロジェクト: linwenda/Funzone
    public void Update(ISpaceChecker validator, string name, string backgroundImage, Visibility visibility)
    {
        if (_isDeleted)
        {
            throw new SpaceHasBeenDeletedException();
        }

        if (_name != name)
        {
            if (!validator.IsUniqueNameInUserSpace(_creatorId, name))
            {
                throw new SpaceNameAlreadyExistsException();
            }
        }

        ApplyChange(new SpaceUpdatedEvent(
                        Id,
                        GetNextVersion(),
                        name,
                        backgroundImage,
                        visibility));
    }