Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
 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();
 }