コード例 #1
0
        private void AddUserToChannel(Models.User user, Guid channelId)
        {
            var channel = _channelRepository.Get(channelId);

            var channelUser = new ChannelUser(user, channel);

            _channelUserRepository.Add(channelUser);

            var channelUserDocument = new Documents.ChannelUser(user.Id, channelId);

            _channelUserStore.AddToBus(channelUserDocument);

            _channelEventService.AddUserAddedToChannelEvent(channel.Group, _authorizedUser, user, channel);
        }
コード例 #2
0
        public ChannelResponse Create(Guid groupId, string name)
        {
            var channel = new Models.Channel
            {
                Id      = Guid.NewGuid(),
                GroupId = groupId,
                Name    = name
            };

            var channelUser = new ChannelUser(_authorizedUser, channel);

            _channelUserRepository.Add(channelUser);

            var channelUserDocument = new Documents.ChannelUser(_authorizedUser.Id, channel.Id);

            _channelUserStore.AddToBus(channelUserDocument);

            var group = _groupRepository.Get(groupId);

            _channelEventService.AddChannelCreatedEvent(group, _authorizedUser, channel);
            _channelEventService.AddUserAddedToChannelEvent(group, _authorizedUser, _authorizedUser, channel);

            return(_mapper.Map <ChannelResponse>(channel));
        }