private void JoinChannel(IrcChannelInfo info)
        {
            var channel = this.Network.GetChannel(info.Name);

            channel.Key = info.Key ?? string.Empty;
            channel.Join();
        }
        private void JoinChannelCommandExecuted(object parameter)
        {
            IrcChannelInfo info = null;

            var channel = parameter as IrcChannel;

            if (channel == null)
            {
                var vm = new JoinChannelWindowViewModel(this.Network);
                if (Locator.Get <IDialogService>().ShowDialog(vm) == true)
                {
                    info = vm.ChannelInfo;
                }
            }
            else
            {
                info = new IrcChannelInfo(channel.FullName);
            }

            if (info != null)
            {
                if (info.JoinOnStartup)
                {
                    this.NetworkInfo.FavoriteChannels.Add(info);
                }
                this.JoinChannel(info);
            }
        }
        private void JoinChannelHandler(JoinChannelMessage message)
        {
            var info = new IrcChannelInfo
            {
                Name = message.Channel.FullName,
                Key  = message.Key
            };

            this.JoinChannel(info);
        }