示例#1
0
        public async Task <IActionResult> Delete([FromBody] DeleteMemberCommand command)
        {
            command.ManagerId = User.Identity.Name;
            await mediator.Send(command);

            return(Ok());
        }
示例#2
0
        internal void DeleteActiveMember()
        {
            if (ActiveMemberIndex >= 0)
            {
                int newIndex;
                int fieldCount  = CompositeType.FieldCount;
                int memberCount = CompositeType.MemberCount;

                if (ActiveMemberIndex == fieldCount - 1 && fieldCount >= 2) // Last field
                {
                    newIndex = fieldCount - 2;
                }
                else if (ActiveMemberIndex == memberCount - 1) // Last member
                {
                    newIndex = ActiveMemberIndex - 1;
                }
                else
                {
                    newIndex = ActiveMemberIndex;
                }

                var command = new DeleteMemberCommand(CompositeType, ActiveMember);
                command.Execute();
                diagram.TrackCommand(command);

                ActiveMemberIndex = newIndex;
                OnActiveMemberChanged(EventArgs.Empty);
            }
        }
示例#3
0
        private void DeleteSelectedMember()
        {
            if (lstMembers.SelectedItems.Count > 0)
            {
                ListViewItem item  = lstMembers.SelectedItems[0];
                int          index = item.Index;

                if (item.Tag is Field)
                {
                    attributeCount--;
                }
                var command = new DeleteMemberCommand(parent, item.Tag as Member);
                command.Execute();
                diagram.TrackCommand(command);
                lstMembers.Items.Remove(item);
                OnContentsChanged(EventArgs.Empty);

                int count = lstMembers.Items.Count;
                if (count > 0)
                {
                    if (index >= count)
                    {
                        index = count - 1;
                    }
                    lstMembers.Items[index].Selected = true;
                }
                else
                {
                    DisableFields();
                }
            }
        }
        public async Task <IActionResult> DeleteMember([FromRoute] int id)
        {
            var command = new DeleteMemberCommand(id);
            var result  = await _mediator.Send(command);

            return(Ok($"Member [memberId: {result.MemberId}] has been deleted"));
        }
示例#5
0
        public async Task <DeleteMemberQueryResult> DeleteMemberQueryHandler(DeleteMemberCommand command)
        {
            var result = await _memberRepository.DeleteRecordAsync(command.Id);

            if (result == 1)
            {
                return(new DeleteMemberQueryResult()
                {
                    IsSuccess = true
                });
            }
            return(new DeleteMemberQueryResult()
            {
                IsSuccess = false
            });
        }
 public async Task <DeleteMemberQueryResult> Delete(DeleteMemberCommand command)
 {
     return(await _httpClient.PostJsonAsync <DeleteMemberQueryResult>($"members/delete", command));
 }
示例#7
0
        private void ListItemSelected(object sender, SelectedItemChangedEventArgs e)
        {
            ListView senderLV  = (ListView)sender;
            object   tappedObj = e.SelectedItem;

            //don't allow items to be selected
            senderLV.SelectedItem = null;

            //this will be called again when we clear the SelectedItem, so this is here to skip that call
            if (tappedObj == null)
            {
                return;
            }

            if (senderLV == m_lstMembers && m_permManageMembers)
            { //member list triggered this event
                Member tappedMember = tappedObj as Member;
                //can't manage myself
                if (tappedMember == m_me)
                {
                    return;
                }
                ManageMemberPrompt p = new ManageMemberPrompt();
                if (tappedMember.Role == Role.MEMBER)
                {
                    p.State = ManageMemberPrompt.BtnState.PROMOTE;
                }
                else if (tappedMember.Role == Role.MANAGER)
                {
                    p.State = ManageMemberPrompt.BtnState.DEMOTE;
                }
                p.OnPromote += new EventHandler((o, e2) =>
                {
                    PromoteMemberCommand cmd = new PromoteMemberCommand()
                    {
                        Project = m_proj.ID, Member = tappedMember.ID
                    };
                    cmd.OnResponseReceived += new APICommand.ResponseReceivedHandler((response) =>
                    {
                        if ((string)response.GetValue("result") != "success")
                        {
                            DependencyService.Get <INotification>().ShortAlert("ERROR: " + (string)response.GetValue("msg"));
                            return;
                        }
                        tappedMember.Role = Role.MANAGER;
                        p.State           = ManageMemberPrompt.BtnState.DEMOTE;
                        ReloadProjectDisplay();
                    });
                    CondorAPI.getInstance().Execute(cmd);
                });
                p.OnDemote += new EventHandler((o, e2) =>
                {
                    DemoteMemberCommand cmd = new DemoteMemberCommand()
                    {
                        Project = m_proj.ID, Member = tappedMember.ID
                    };
                    cmd.OnResponseReceived += new APICommand.ResponseReceivedHandler((response) =>
                    {
                        if ((string)response.GetValue("result") != "success")
                        {
                            DependencyService.Get <INotification>().ShortAlert("ERROR: " + (string)response.GetValue("msg"));
                            return;
                        }
                        tappedMember.Role = Role.MEMBER;
                        p.State           = ManageMemberPrompt.BtnState.PROMOTE;
                        ReloadProjectDisplay();
                    });
                    CondorAPI.getInstance().Execute(cmd);
                });
                p.OnDelete += new EventHandler((o, e2) =>
                {
                    Prompt pc = new Prompt()
                    {
                        PromptTitle = "Are you sure?", PositiveButtonText = "Yes", NegativeButtonText = "No"
                    };
                    pc.OnPromptSaved += new Prompt.PromptClosedEventListener(() =>
                    {
                        DeleteMemberCommand cmd = new DeleteMemberCommand()
                        {
                            Project = m_proj.ID, Member = tappedMember.ID
                        };
                        cmd.OnResponseReceived += new APICommand.ResponseReceivedHandler((response) =>
                        {
                            if ((string)response.GetValue("result") != "success")
                            {
                                DependencyService.Get <INotification>().ShortAlert("ERROR: " + (string)response.GetValue("msg"));
                                return;
                            }
                            m_proj.Members.Remove(tappedMember);
                            ReloadProjectDisplay();
                            pc.Dismiss();
                            p.Dismiss();
                        });
                        CondorAPI.getInstance().Execute(cmd);
                    });
                    pc.Show(m_mdp);
                });
                p.Show(m_mdp);
            }
            else if (senderLV == m_lstMyTasks)
            { //my tasks list triggered this event
                Models.Task        tappedTask = tappedObj as Models.Task;
                ManageMyTaskPrompt p          = new ManageMyTaskPrompt(tappedTask);
                p.OnPromptSaved += new Prompt.PromptClosedEventListener(() =>
                {
                    //do nothing if nothing was changed
                    if (p.SelectedStatus == tappedTask.Status)
                    {
                        return;
                    }
                    //execute the command to set the task status
                    SetTaskStatusCommand cmd = new SetTaskStatusCommand()
                    {
                        Project = m_proj.ID, Task = tappedTask.Name, Status = p.SelectedStatus.str
                    };
                    cmd.OnResponseReceived += new APICommand.ResponseReceivedHandler((response) =>
                    {
                        if ((string)response.GetValue("result") != "success")
                        {
                            DependencyService.Get <INotification>().ShortAlert("ERROR: " + (string)response.GetValue("msg"));
                            return;
                        }
                        //update the status and reload the display
                        tappedTask.Status = p.SelectedStatus;
                        ReloadProjectDisplay();
                    });
                    CondorAPI.getInstance().Execute(cmd);
                });
                p.Show(m_mdp);
            }
            else if (senderLV == m_lstAllTasks && m_permManageTasks)
            { //all tasks list triggered this event
                Models.Task      tappedTask = tappedObj as Models.Task;
                ManageTaskPrompt p          = new ManageTaskPrompt(m_proj);
                p.Date           = tappedTask.Due;
                p.Description    = tappedTask.Description;
                p.Status         = (tappedTask.Assigned == null) ? ManageTaskPrompt.BtnStatus.ASSIGN : ManageTaskPrompt.BtnStatus.DEASSIGN;
                p.AssignedMember = tappedTask.Assigned;
                p.OnAssign      += new EventHandler((o, e2) =>
                {
                    AssignTaskCommand cmd = new AssignTaskCommand()
                    {
                        Project = m_proj.ID, Task = tappedTask.Name, Member = p.AssignedMember.ID
                    };
                    cmd.OnResponseReceived += new APICommand.ResponseReceivedHandler((response) =>
                    {
                        if ((string)response.GetValue("result") != "success")
                        {
                            DependencyService.Get <INotification>().ShortAlert("ERROR: " + (string)response.GetValue("msg"));
                            return;
                        }
                        //update the dialog
                        p.HidePicker();
                        p.Status = ManageTaskPrompt.BtnStatus.DEASSIGN;
                        //update the task and reload the display
                        tappedTask.Assigned = p.AssignedMember;
                        ReloadProjectDisplay();
                    });
                    CondorAPI.getInstance().Execute(cmd);
                });
                p.OnDeassign += new EventHandler((o, e2) =>
                {
                    DeassignTaskCommand cmd = new DeassignTaskCommand()
                    {
                        Project = m_proj.ID, Task = tappedTask.Name
                    };
                    cmd.OnResponseReceived += new APICommand.ResponseReceivedHandler((response) =>
                    {
                        if ((string)response.GetValue("result") != "success")
                        {
                            DependencyService.Get <INotification>().ShortAlert("ERROR: " + (string)response.GetValue("msg"));
                            return;
                        }
                        //update the dialog
                        p.Status = ManageTaskPrompt.BtnStatus.ASSIGN;
                        //update the task and reload the display
                        tappedTask.Assigned = null;
                        ReloadProjectDisplay();
                    });
                    CondorAPI.getInstance().Execute(cmd);
                });
                p.OnDelete += new EventHandler((o, e2) =>
                {
                    DeleteTaskCommand cmd = new DeleteTaskCommand()
                    {
                        Project = m_proj.ID, Title = tappedTask.Name
                    };
                    cmd.OnResponseReceived += new APICommand.ResponseReceivedHandler((response) =>
                    {
                        if ((string)response.GetValue("result") != "success")
                        {
                            DependencyService.Get <INotification>().ShortAlert("ERROR: " + (string)response.GetValue("msg"));
                            return;
                        }
                        //remove the task from the list
                        m_proj.Tasks.Remove(tappedTask);
                        //reload the display
                        ReloadProjectDisplay();
                        //close the prompt
                        p.Dismiss();
                    });
                    CondorAPI.getInstance().Execute(cmd);
                });
                p.OnPromptSaved += new Prompt.PromptClosedEventListener(() =>
                {
                    //update the due date if changed
                    if (p.Date.ToFileTimeUtc() != tappedTask.Due.ToFileTimeUtc())
                    {
                        SetTaskDueCommand cmd = new SetTaskDueCommand()
                        {
                            Project = m_proj.ID, Task = tappedTask.Name, Due = p.Date
                        };
                        cmd.OnResponseReceived += new APICommand.ResponseReceivedHandler((response) =>
                        {
                            if ((string)response.GetValue("result") != "success")
                            {
                                DependencyService.Get <INotification>().ShortAlert("ERROR: " + (string)response.GetValue("msg"));
                                return;
                            }
                            //update the due date
                            tappedTask.Due = p.Date;
                            //reload the display
                            ReloadProjectDisplay();
                        });
                        CondorAPI.getInstance().Execute(cmd);
                    }
                    //update the description if changed
                    if (p.Description != tappedTask.Description)
                    {
                        SetTaskDescCommand cmd = new SetTaskDescCommand()
                        {
                            Project = m_proj.ID, Task = tappedTask.Name, Description = p.Description
                        };
                        cmd.OnResponseReceived += new APICommand.ResponseReceivedHandler((response) =>
                        {
                            if ((string)response.GetValue("result") != "success")
                            {
                                DependencyService.Get <INotification>().ShortAlert("ERROR: " + (string)response.GetValue("msg"));
                                return;
                            }
                            //update the description
                            tappedTask.Description = p.Description;
                            //reload the display
                            ReloadProjectDisplay();
                        });
                        CondorAPI.getInstance().Execute(cmd);
                    }
                });
                p.Show(m_mdp);
            }
        }
        public async Task <IActionResult> Delete(DeleteMemberCommand command)
        {
            var result = await _memberService.DeleteMemberQueryHandler(command);

            return(Ok(result));
        }