public JoinChannelsResult JoinChannels(JoinChannelsRequest request)
        {
            foreach (var channel in Channels.Where(c => request.ChannelNames.Contains(c.Name)))
            {
                if (channel.Members.All(m => m.Id != 1))
                {
                    channel.Members.Add(new UserId
                    {
                        Id = 1
                    });
                    channel.Version++;
                }
            }

            return new JoinChannelsResult
            {
                Result = new ServiceResult<List<Channel>>
                {
                    ReturnCode = 0,
                    Data = Channels.Where(c => request.ChannelNames.Contains(c.Name)).ToList()
                }
            };
        }
        public JoinChannelsResult JoinChannels(JoinChannelsRequest request)
        {
            foreach (var channel in Channels.Where(c => request.ChannelNames.Contains(c.Name)))
            {
                if (channel.Members.All(m => m.Id != 1))
                {
                    channel.Members.Add(new UserId
                    {
                        Id = 1
                    });
                    channel.Version++;
                }
            }

            return(new JoinChannelsResult
            {
                Result = new ServiceResult <List <Channel> >
                {
                    ReturnCode = 0,
                    Data = Channels.Where(c => request.ChannelNames.Contains(c.Name)).ToList()
                }
            });
        }