private void CalFileState() { if (this.FileState == FileStates.Receiving) { return; } try { this.tbName.ToolTip = System.IO.Path.GetFileName(this.FullName);//?.Split('\\').LastOrDefault(); } catch { return; } if (ChatViewModel == null) { ChatViewModel = AppData.MainMV.ChatListVM.SelectedItem; } else if (_targetModel.MessageState == MessageStates.Fail) { if (_operateTask != null) { _operateTask.Cancel(); } AcioningItems.Remove(this); } if (_targetModel == null && this.DataContext is MessageModel item) { _targetModel = item; var target = FileItems.FirstOrDefault(info => info.MsgKey == item.MsgKey); if (target == null) { target = item; FileItems.Add(item); } if (string.IsNullOrEmpty(target.MsgKey)) { target.MsgKey = Guid.NewGuid().ToString(); } this.DataContext = _targetModel = target; } if (this.IsMainView == false) { if (_targetModel.ResourceModel.FileState != FileStates.None) { return; } } //是否发送者 bool isSender = _targetModel.Sender.ID == AppData.Current.LoginUser.ID; _targetModel.ResourceModel.FileImg = Helper.FileHelper.GetFileImage(this.FullName, false); this.gridLayout.ToolTip = System.IO.Path.GetFileName(this.FullName); if (File.Exists(this.FullName)) { if (isSender && _targetModel.IsSending) { if (this._targetModel.ResourceModel.FileState == FileStates.SendOffline || this._targetModel.ResourceModel.FileState == FileStates.SendOnline) { } else { this.FileState = _targetModel.ResourceModel.FileState = FileStates.SendOnline; this.OnlineSend(); } } else { this.FileState = _targetModel.ResourceModel.FileState = FileStates.Completed; _completeTime = DateTime.Now.AddMinutes(-5); } } else { if (isSender) //发送者 { this.FileState = _targetModel.ResourceModel.FileState = FileStates.Completed; _completeTime = DateTime.Now.AddMinutes(-5); } else { this.FileState = _targetModel.ResourceModel.FileState = FileStates.WaitForReceieve; } } }
public CaseFileItemInstance GetCaseFileItem(string id) { return(FileItems.FirstOrDefault(f => f.Id == id)); }
private void CalFileState() { if (ChatViewModel == null) { ChatViewModel = AppData.MainMV.ChatListVM.SelectedItem; } else if (_targetModel?.MessageState == MessageStates.Fail) { if (_operateTask != null) { _operateTask.Cancel(); } AcioningItems.Remove(this); } if (_targetModel == null && this.DataContext is MessageModel item) { this.PreviewMouseRightButtonUp -= SmallVideo_PreviewMouseRightButtonUp; _targetModel = item; var target = FileItems.FirstOrDefault(info => info.MsgKey == item.MsgKey); if (target == null) { target = item; FileItems.Add(item); } if (string.IsNullOrEmpty(target.MsgKey)) { target.MsgKey = Guid.NewGuid().ToString(); } _completeTime = _targetModel.SendTime; _isMine = _targetModel.IsMine; _isSync = _targetModel.IsSync; this.DataContext = _targetModel = target; if (_completeTime != null) { _targetModel.SendTime = _completeTime.Value; } _targetModel.IsMine = _isMine; _targetModel.IsSync = _isSync; //this.gridProgress.Visibility = Visibility.Visible; //this.borderPlay.Visibility = Visibility.Collapsed; } else { if (_targetModel != null) { return; } this.gridProgress.Visibility = Visibility.Collapsed; this.borderPlay.Visibility = Visibility.Visible; this.imgReset.Visibility = Visibility.Collapsed; this.imgDownload.Visibility = Visibility.Collapsed; this.PreviewMouseRightButtonUp += SmallVideo_PreviewMouseRightButtonUp; return; } if (SDKClient.SDKClient.Instance.property.CurrentAccount.Isforbidden) { _targetModel.MessageState = MessageStates.Warn; } //是否发送者 bool isSender = _targetModel.Sender.ID == AppData.Current.LoginUser.ID; string filePath = System.IO.Path.Combine(SDKClient.SDKClient.Instance.property.CurrentAccount.filePath, this.VideoPath); if (System.IO.File.Exists(filePath) || System.IO.File.Exists(this.VideoPath)) { if (isSender) //当前作为发送方 { if (_targetModel.IsSending) //若是正在发送中 { this.FileState = _targetModel.ResourceModel.FileState = FileStates.SendOffline; this.gridProgress.Visibility = Visibility.Visible; this.borderPlay.Visibility = Visibility.Collapsed; this.imgReset.Visibility = Visibility.Collapsed; this.imgDownload.Visibility = Visibility.Collapsed; SendVideo(); } else if (_targetModel.ResourceModel.DBState == 0) { this.gridProgress.Visibility = Visibility.Collapsed; this.borderPlay.Visibility = Visibility.Visible; this.imgReset.Visibility = Visibility.Collapsed; this.imgDownload.Visibility = Visibility.Collapsed; //HasContexMenu = true; } else { this.FileState = _targetModel.ResourceModel.FileState = FileStates.Completed; if (_targetModel.IsSync) { _completeTime = _targetModel.SendTime; } else if (_completeTime == null) { _completeTime = DateTime.Now.AddMinutes(-5); } } } else //当前用户作为接收方,若文件已有则认为已经成功 { this.FileState = _targetModel.ResourceModel.FileState = FileStates.Completed; if (_targetModel.IsSync) { _completeTime = _targetModel.SendTime; } else if (_completeTime == null) { _completeTime = DateTime.Now.AddMinutes(-5); } } } else { if (isSender) //发送者 { this.FileState = _targetModel.ResourceModel.FileState = FileStates.WaitForReceieve; if (_targetModel.IsSync) { _completeTime = _targetModel.SendTime; } else if (_completeTime == null) { _completeTime = DateTime.Now.AddMinutes(-5); } } else { this.FileState = _targetModel.ResourceModel.FileState = FileStates.WaitForReceieve; } } }