/// <summary> /// 分页查询投票数据 /// </summary> private void LoadVotesData() { DateTime serverDateTime = DateTime.Now; AsyncHandler.CallFuncWithUI(System.Windows.Application.Current.Dispatcher, () => { var errCode = 0; var errMsg = string.Empty; AntSdkQuerySystemDateOuput serverResult = AntSdkService.AntSdkGetCurrentSysTime(ref errCode, ref errMsg); if (serverResult != null) { serverDateTime = PublicTalkMothed.ConvertStringToDateTime(serverResult.systemCurrentTime); } var voteList = AntSdkService.GetGroupVotes(_groupId, ref errCode, ref errMsg, _page, _size, AntSdkService.AntSdkCurrentUserInfo.userId); return(voteList); }, (ex, datas) => { VoteInfoList.Clear(); if (datas?.content != null && datas.content.Count > 0) { foreach (var voteInfo in datas.content) { var tempInfoModel = new VoteInfoModel(); tempInfoModel.IsHaveVoted = voteInfo.voted; if (voteInfo.createdBy == AntSdkService.AntSdkCurrentUserInfo.userId) { tempInfoModel.IsbtnDeleteVisibility = true; } tempInfoModel.VoteId = voteInfo.id; tempInfoModel.VoteSate = DateTime.Compare(Convert.ToDateTime(voteInfo.expiryTime), serverDateTime) < 0; tempInfoModel.VoteTitle = voteInfo.title + (voteInfo.secret ? "(匿名)" : ""); tempInfoModel.UserID = voteInfo.createdBy; AntSdkContact_User user = AntSdkService.AntSdkListContactsEntity.users.Find(c => c.userId == voteInfo.createdBy); if (user != null) { tempInfoModel.Explain = user.userNum + user.userName + " 编辑于 " + DataConverter.FormatTimeByCreateTime(voteInfo.createdDate); if (!string.IsNullOrWhiteSpace(user.picture) && publicMethod.IsUrlRegex(user.picture)) { var userImage = GlobalVariable.ContactHeadImage.UserHeadImages.FirstOrDefault( m => m.UserID == user.userId); tempInfoModel.UserHeadUrl = string.IsNullOrEmpty(userImage?.Url) ? user.picture : userImage.Url; } else { tempInfoModel.UserHeadUrl = GlobalVariable.DefaultImage.UserHeadDefaultImage; } } //tempInfoModel.UserHeadUrl= _voteInfoList.Add(tempInfoModel); } } if (datas != null) { _isFirst = datas.first; _isLast = datas.last; } }); }
public VoteListViewModel(string groupId) { _groupId = groupId; _voteInfoList = new ObservableCollection <VoteInfoModel>(); var errCode = 0; var errMsg = string.Empty; AntSdkQuerySystemDateOuput serverResult = AntSdkService.AntSdkGetCurrentSysTime(ref errCode, ref errMsg); DateTime serverDateTime = DateTime.Now; if (serverResult != null) { serverDateTime = PublicTalkMothed.ConvertStringToDateTime(serverResult.systemCurrentTime); } var voteList = AntSdkService.GetGroupVotes(groupId, ref errCode, ref errMsg, _page, _size, AntSdkService.AntSdkCurrentUserInfo.userId); if (voteList?.content != null && voteList.content.Count > 0) { foreach (var voteInfo in voteList.content) { var tempInfoModel = new VoteInfoModel(); tempInfoModel.IsHaveVoted = voteInfo.voted; if (voteInfo.createdBy == AntSdkService.AntSdkCurrentUserInfo.userId) { tempInfoModel.IsbtnDeleteVisibility = true; } tempInfoModel.VoteId = voteInfo.id; tempInfoModel.VoteSate = DateTime.Compare(Convert.ToDateTime(voteInfo.expiryTime), serverDateTime) < 0; tempInfoModel.VoteTitle = voteInfo.title + (voteInfo.secret ? "(匿名)" : ""); tempInfoModel.UserID = voteInfo.createdBy; AntSdkContact_User user = AntSdkService.AntSdkListContactsEntity.users.Find(c => c.userId == voteInfo.createdBy); if (user != null) { tempInfoModel.Explain = user.userNum + user.userName + " 编辑于 " + DataConverter.FormatTimeByCreateTime(voteInfo.createdDate); if (!string.IsNullOrWhiteSpace(user.picture) && publicMethod.IsUrlRegex(user.picture)) { var index = user.picture.LastIndexOf("/", StringComparison.Ordinal) + 1; var fileNameIndex = user.picture.LastIndexOf(".", StringComparison.Ordinal); var fileName = user.picture.Substring(index, fileNameIndex - index); string strUrl = user.picture.Replace(fileName, fileName + "_35x35"); var userImage = GlobalVariable.ContactHeadImage.UserHeadImages.FirstOrDefault( m => m.UserID == user.userId); tempInfoModel.UserHeadUrl = string.IsNullOrEmpty(userImage?.Url) ? strUrl : userImage.Url; } else { tempInfoModel.UserHeadUrl = GlobalVariable.DefaultImage.UserHeadDefaultImage; } } //tempInfoModel.UserHeadUrl= _voteInfoList.Add(tempInfoModel); } _isFirst = voteList.first; _isLast = voteList.last; IsPaging = !_isLast; } else { IsVoteData = true; IsPaging = false; } }