コード例 #1
0
        private void DeleteWorker_Click(object sender, RoutedEventArgs e)
        {
            IWorker ws = WorkersView.SelectedItem as IWorker;

            if (ws == null)
            {
                return;
            }
            DeleteItemConfirmationDialog delCon =
                new DeleteItemConfirmationDialog(
                    $"Are you sure you want to delete worker:\n\n" +
                    $"ID: {ws.ID}, {ws.FirstName} {ws.LastName} ?\n\n" +
                    "Worker will be deleted permnanently!");
            bool?result = delCon.ShowDialog();

            if (result != true)
            {
                return;
            }
            UI.Workers.RemoveWorker(ws);

            UpdateMainWindow();
        }
コード例 #2
0
        /// <summary>
        /// Performs all necessary checking to delete department,
        /// then calls DeleteDepartment method of back-end
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void DeleteDepartment_Click(object sender, RoutedEventArgs e)
        {
            // Get currently selected department from the Tree View
            var tvis = AppleTree.SelectedItem as TreeViewItem;

            if (tvis == null)
            {
                return;
            }
            var d      = tvis.Tag as IDepartmentDTO;
            var parent = tvis.Parent as TreeViewItem;

            // Check if we are not deleting root department
            if (d.ParentDeptID == 0)
            {
                MessageBox.Show("You cannot delete HQ department!");
                return;
            }

            // Are we trying to delete empty department
            bool?result;

            if (d.NumberOfEmployees == 0 &&
                d.NumberOfEmployees == 0)
            {
                DeleteItemConfirmationDialog delWin = new
                                                      DeleteItemConfirmationDialog(
                    "Are you sure to delete department\n" +
                    $"{d.DeptName} ?\n" +
                    "This action cannot be undone.");
                result = delWin.ShowDialog();
                if (result != true)
                {
                    return;
                }
                UI.Departments.DeleteEmptyDepartment(d);

                // Remove department from UI TreeView
                parent.Items.Remove(tvis);
            }
            else                // Department has either employees or subdepartments or both
            {
                DeleteDepartmentMenu delDeptWin = new DeleteDepartmentMenu(d);
                result = delDeptWin.ShowDialog();
                if (result != true)
                {
                    return;
                }

                if (delDeptWin.selfExcludeOrCompletely)                 // Self Exclude way
                {
                    DeleteItemConfirmationDialog delWin = new
                                                          DeleteItemConfirmationDialog(
                        "Are you sure to delete department\n" +
                        $"{d.DeptName} ?\n" +
                        "This action cannot be undone.");
                    result = delWin.ShowDialog();
                    if (result != true)
                    {
                        return;
                    }
                    UI.Departments.SelfExcludeOfDepartment(d);

                    // Update UI TreeView
                    parent.Items.Clear();

                    // Refresh list of subdepartments
                    // Because some may were added manually
                    var subDepartments = UI.Get.SubDepartments((IDepartmentDTO)parent.Tag);

                    // For each dept ...
                    subDepartments.ForEach(dept =>
                    {
                        // Create department item
                        var subItem = CreateTVINode(dept);

                        // Add this item to the parent
                        parent.Items.Add(subItem);
                    });
                }
                else                  // Delete completely with all employees and subdepartments
                {
                    DeleteItemConfirmationDialog delWin = new
                                                          DeleteItemConfirmationDialog(
                        $"Are you sure to completely delete department {d.DeptName}\n" +
                        "and all its sub departments with all their employees?\n" +
                        "This action cannot be undone.");
                    result = delWin.ShowDialog();
                    if (result != true)
                    {
                        return;
                    }

                    UI.Departments.DeleteCompletely(d);

                    // Remove department from UI TreeView
                    parent.Items.Remove(tvis);
                }
            }

            parent.Items.Refresh();
        }