/// <summary> /// 批注增加的广播信息处理事件 /// </summary> /// <param name="eventArgs"></param> private void DataAdd(WebMsgEventArgs eventArgs) { var index = SelectedViewPicModel?.SelectedPicIndex ?? 0; if (_currentPageIndex == 0)//最新的只会添加在前面 { LoadPostilInfosAsync(_currentPageIndex, () => SelectedViewPicModel = ViewPictureModels.ElementAtOrDefault(index) ?? ViewPictureModels.LastOrDefault()); } }
/// <summary> /// 删除某条批注事件 /// </summary> /// <param name="delPicModel"></param> private async void OnDeletePostilItem(PictureModel delPicModel) { if (delPicModel == null) { return; } if (this.ShowMessage("删除后将无法恢复信息,确定删除这条批注吗?", "警告", MessageBoxButton.OKCancel) != MessageBoxResult.OK) { return; } var index = delPicModel.SelectedPicIndex; var deleteId = delPicModel.PostilId; var result = await DataApi.DeleteAsync(Hubs.Postil.T, new[] { deleteId }); if (!result.IsOk) { Mg.Get <IMgLog>().Error("删除批注信息失败" + result.Message); Mg.Get <IMgDialog>().ShowDesktopAlert("删除批注信息失败", result.Message); return; } if (ViewPictureModels.Count == 8) { if (SelectedViewPicModel.PostilId == deleteId) { LoadPostilInfosAsync(_currentPageIndex, () => SelectedViewPicModel = ViewPictureModels.ElementAtOrDefault(index) ?? ViewPictureModels.LastOrDefault()); } else { var selectId = SelectedViewPicModel.PostilId; LoadPostilInfosAsync(_currentPageIndex, () => SelectedViewPicModel = ViewPictureModels.FirstOrDefault(t => t.PostilId == selectId) ?? ViewPictureModels.FirstOrDefault()); } } else { var selectId = SelectedViewPicModel.PostilId; ViewPictureModels.Remove(delPicModel); for (var i = 0; i < ViewPictureModels.Count; i++)//重新给索引 { ViewPictureModels[i].SelectedPicIndex = i; } _listPostilInfoModel.Remove(_listPostilInfoModel.FirstOrDefault(t => t._id == deleteId)); if (deleteId == selectId) { SelectedViewPicModel = ViewPictureModels.ElementAtOrDefault(index) ?? ViewPictureModels.LastOrDefault(); } if (ViewPictureModels.Count == 0 && _currentPageIndex != 0) { LoadPostilInfosAsync(--_currentPageIndex, () => SelectedViewPicModel = ViewPictureModels.LastOrDefault()); } } _isSelfDelPostil = true; await Mg.Get <IMgWeb>().SendWebMsgAsync("demoPostil/delete", deleteId.ToString(), BoardcastType.ProjectGroup);//发送广播 }
private void DataDelete(WebMsgEventArgs eventArgs) { if (_isSelfDelPostil) { _isSelfDelPostil = false; return; } var deleteId = eventArgs.Data.As <Id>(); if (deleteId == null) { return; } var model = ViewPictureModels.FirstOrDefault(t => t.PostilId == deleteId); if (model == null) { return; } if (ViewPictureModels.Count == 8) { if (SelectedViewPicModel.PostilId == deleteId) { LoadPostilInfosAsync(_currentPageIndex, () => SelectedViewPicModel = ViewPictureModels.ElementAtOrDefault(model.SelectedPicIndex) ?? ViewPictureModels.LastOrDefault()); } else { var selectId = SelectedViewPicModel.PostilId; LoadPostilInfosAsync(_currentPageIndex, () => SelectedViewPicModel = ViewPictureModels.FirstOrDefault(t => t.PostilId == selectId) ?? ViewPictureModels.FirstOrDefault()); } } else { ViewPictureModels.Remove(model); for (var i = 0; i < ViewPictureModels.Count; i++)//重新给索引 { ViewPictureModels[i].SelectedPicIndex = i; } _listPostilInfoModel.Remove(_listPostilInfoModel.FirstOrDefault(t => t._id == deleteId)); if (deleteId == SelectedViewPicModel.PostilId) { SelectedViewPicModel = ViewPictureModels.ElementAtOrDefault(model.SelectedPicIndex) ?? ViewPictureModels.LastOrDefault(); } if (ViewPictureModels.Count == 0 && _currentPageIndex != 0) { LoadPostilInfosAsync(--_currentPageIndex, () => SelectedViewPicModel = ViewPictureModels.LastOrDefault()); } } }