Exemple #1
0
        /// <summary>
        /// 在线发送
        /// </summary>
        private void OnlineSend()
        {
            if (ChatViewModel != null)
            {
                _targetModel.CanOperate = false;
                AcioningItems.Remove(this);
                if (_operateTask != null)
                {
                    _operateTask.Cancel();
                    _operateTask = null;
                }

                if (FileExists())
                {
                    AcioningItems.Add(this);
                    _operateTask = new System.Threading.CancellationTokenSource();
                    if (ChatViewModel.IsGroup)
                    {
                        this.tbConnecting.Visibility = Visibility.Visible;
                        //群聊只能离线发送
                        ChatViewModel.SendOfflineFile(_targetModel, _operateTask, (result) =>
                        {
                            AcioningItems.Remove(this);
                            if (_operateTask != null)
                            {
                                _operateTask.Cancel();
                                _operateTask = null;
                            }
                        });
                    }
                    else
                    {
                        ChatViewModel.SendOnlineFile(ChatViewModel, _targetModel, _operateTask, (result) =>
                        {
                            AcioningItems.Remove(this);
                            if (_operateTask != null)
                            {
                                _operateTask.Cancel();
                                _operateTask = null;
                            }
                        });
                    }
                }
                else
                {
                    ChatViewModel.Chat.Messages.Remove(_targetModel);
                }
            }
        }