public async Task CreateBoard(CreateBoard command) { var board = GrainFactory.GetGrain <IBoardAggregate>(command.BoardId); await board.CreateBoard(command); var @event = new UserAddedToBoard(command.BoardId, command.Name, command.UserId); RaiseEvent(@event); }
public Task OnNextAsync(UserAddedToBoard @event) { _clients.Group(@event.UserId)?.BoardAdded(@event); return(Task.CompletedTask); }
public void Apply(UserAddedToBoard @event) { Boards[@event.Id] = new Board { Id = @event.Id, Name = @event.Name }; }