Exemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnDeleteTeam_Click(object sender, EventArgs e)
        {
            // Make the sure user selected a team
            if (ddlTeamsDelete.SelectedValue.Equals("") || ddlTeamsDelete.Equals("0") || ddlTeamsDelete.SelectedValue == null)
            {
                lblDeleteTeamResults.ForeColor = Color.Red;
                lblDeleteTeamResults.Text      = "You must first select a team to delete. ";
                return;
            }

            // First make sure the current user is the admin of the selected team
            Team team = TeamDAL.GetTeamById(Convert.ToInt64(ddlTeamsDelete.SelectedValue));

            lblDeleteTeamResults.Text = "";

            // If the user is NOT the team admin...
            if (currentUser.ID != team.TeamOwner)
            {
                lblDeleteTeamResults.ForeColor = Color.Red;
                lblDeleteTeamResults.Text      = "Cannot delete a team that you are not the admin of. ";
                return;
            }

            // Attempt to delete all information about the tasks associated with the team
            // to delete (task, task notes, and mappings to assigned users)
            List <Int64> listOfTasksToDelete = TaskDAL.GetAllTeamTasks(team.TeamID);

            foreach (Int64 taskID in listOfTasksToDelete)
            {
                TaskNotesDAL.DeleteAllTaskNotes(taskID);
                UserTasksDAL.DeleteAllTaskUsers(taskID);
                TaskDAL.DeleteTask(taskID);
            }

            // Atttempt to delete the team
            if (TeamDAL.DeleteTeam(team.TeamID) && TeamMemberDAL.RemoveAllMembers(team.TeamID))
            {
                lblDeleteTeamResults.ForeColor = Color.Blue;
                lblDeleteTeamResults.Text      = "Successfully deleted the team.";

                // Remember to update the drop down lists on the page
                ddlTeamsDelete.DataBind();
                ddlTeamsView.DataBind();
                ddlTeamsUpdate.DataBind();
                ddlUpdateRemoveMember.DataBind();
            }
        }
Exemplo n.º 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnDeleteTask_Click(object sender, EventArgs e)
        {
            if (ddlDeleteTeam.SelectedValue.Equals("") || ddlDeleteTeam.SelectedValue.Equals("0") || ddlDeleteTeam.SelectedValue == null ||
                ddlDeleteTask.SelectedValue.Equals("") || ddlDeleteTask.SelectedValue.Equals("0") || ddlDeleteTask.SelectedValue == null)
            {
                lblDeleteTaskResults.ForeColor = Color.Red;
                lblDeleteTaskResults.Text      = "You must first select a team and task to delete a task. ";
                return;
            }

            Task task     = TaskDAL.GetTaskByID(Convert.ToInt64(ddlDeleteTask.SelectedValue));
            Team taskTeam = TeamDAL.GetTeamById(task.TeamID);

            // First ensure that the current user, is the admin of the team that this task
            // is associated with
            if (currentUser.ID != taskTeam.TeamOwner)
            {
                lblDeleteTaskResults.ForeColor = Color.Red;
                lblDeleteTaskResults.Text      = "Cannot delete a task of a team that you are not the admin of.";
                return;
            }

            // Delete the task and all of its notes and all of its mappings to users
            bool wasTaskDeletionSuccessful      = TaskDAL.DeleteTask(task.TaskID);
            bool wasTaskNotesDeletionSuccessful = TaskNotesDAL.DeleteAllTaskNotes(task.TaskID);
            bool wasTaskUsersDeletionSuccessful = UserTasksDAL.DeleteAllTaskUsers(task.TaskID);

            // Signal whether the deletion was successful or not
            if (!wasTaskDeletionSuccessful || !wasTaskNotesDeletionSuccessful || !wasTaskUsersDeletionSuccessful)
            {
                lblDeleteTaskResults.ForeColor = Color.Red;
                lblDeleteTaskResults.Text      = "Error occurred while deleting the task. ";
                return;
            }
            else
            {
                lblDeleteTaskResults.ForeColor = Color.Blue;
                lblDeleteTaskResults.Text      = "Successfully delete the specified task. ";

                // Force all dropdown lists to refresh
                this.RefreshAllDropDownLists();
            }
        }