private async void AddTaskWatcher() { SelectMemberDialog selectMemberDialog = new SelectMemberDialog(Task.Project.MemberList, Task.Watchers); selectMemberDialog.Title = "添加关注"; selectMemberDialog.PrimaryButtonClick += (async (ContentDialog sender, ContentDialogButtonClickEventArgs e) => { SelectMemberViewModel vm = (SelectMemberViewModel)sender.DataContext; ObservableCollection<Model.MemberInfo> selectedMemberList = new ObservableCollection<Model.MemberInfo>(vm.MemberList.Where(x => x.Checked == true).Select(x => x.Member).ToList()); List<string> lstOldUserId = Task.Watchers.Select(x => x.Uid).ToList(); List<string> lstNewUserId = selectedMemberList.Select(x => x.Uid).ToList(); this.StartProgress(); //添加关注 bool result = await Helper.WorktileClient.AddTaskWatcher(Task.Pid, Task.Tid, lstNewUserId); if (result) { Task.Watchers = selectedMemberList; } else { ShowAlert("添加关注失败,请稍后重试!"); } foreach (string uid in lstOldUserId) { if (!lstNewUserId.Contains(uid)) { //移除关注 result = await Helper.WorktileClient.RemoveTaskWatcher(Task.Pid, Task.Tid, uid); if (result) { Task.Watchers.Remove(Task.Watchers.FirstOrDefault(x => x.Uid == uid)); //lstCurrentUserId.Remove(uid); } else { ShowAlert("添加关注失败,请稍后重试!"); break; } } } this.EndProgress(); } ); await selectMemberDialog.ShowAsync(); }
public async void NotifySomeOne() { SelectMemberDialog selectMemberDialog = new SelectMemberDialog(Task.Project.MemberList,new ObservableCollection<MemberInfo>()); selectMemberDialog.Title = "发送通知"; selectMemberDialog.PrimaryButtonClick += ((ContentDialog sender, ContentDialogButtonClickEventArgs e) => { SelectMemberViewModel vm = (SelectMemberViewModel)sender.DataContext; ObservableCollection<Model.MemberInfo> selectedMemberList = new ObservableCollection<Model.MemberInfo>(vm.MemberList.Where(x => x.Checked == true).Select(x => x.Member).ToList()); string users = ""; foreach(MemberInfo user in selectedMemberList) { users += " @" + user.Name; } if (NewComment.EndsWith("@")) NewComment = NewComment.Substring(0, NewComment.Length - 1); NewComment += users; }); await selectMemberDialog.ShowAsync(); }