コード例 #1
0
        private async void DataAdd(WebMsgEventArgs eventArgs)
        {
            await Task.Delay(300);

            var addId = eventArgs.Data.As <Id>();

            if (addId == null)
            {
                return;
            }
            var result = await DataApi.GetDataInfoAsync(Hubs.Postil.T, addId);

            if (!result.IsOk)
            {
                return;
            }
            var model  = result.GetRecord().As <PostilInfoModel>();
            var urlDic = await Util.Data.GetPictureUrlsAsync(new[] { model.FileId });

            var userDic = await Util.Data.GetUserInfosAsync(new[] { model.CreateUser });

            model.ImageUrl   = urlDic?[model.FileId];
            model.PostilUser = userDic?[model.CreateUser];
            model.FirstTag   = $" {model.Tags[0]} ";
            model.LastTime   = DateDiff(Convert.ToDateTime(model.CreateTime), DateTime.Now);
            PostilInfoModels.Insert(0, model);
            _backupPostilInfoModels.Insert(0, model);
        }
コード例 #2
0
        /// <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());
            }
        }
コード例 #3
0
        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());
                }
            }
        }
コード例 #4
0
        private void DataDelete(WebMsgEventArgs eventArgs)
        {
            var deleteId = eventArgs.Data.As <Id>();

            if (deleteId == null)
            {
                return;
            }
            var delModel = PostilInfoModels.FirstOrDefault(t => t._id == deleteId);

            if (delModel == null)
            {
                return;
            }
            PostilInfoModels.Remove(delModel);
            _backupPostilInfoModels.Remove(delModel);
        }