示例#1
0
        private void editRoleButtonEmployeePage_Click(object sender, RoutedEventArgs e)
        {
            if (listViewEmployeePageEmployeeTable.SelectedItem != null)
            {
                Employee employee = (from emp in JackyDigitalXDBEntities.Employees
                                     where emp.Username == MainWindow.Username
                                     select emp).FirstOrDefault();
                int          employeeID        = employee.EmployeeID;
                var          thisEmployeeRoles = JackyDigitalXDBEntities.selectEmployeeRoles(employeeID);
                Verification verification      = new Verification();

                if (thisEmployeeRoles.Contains(verification.Administrator))
                {
                    int i = listViewEmployeePageEmployeeTable.SelectedIndex;
                    Emp = listViewEmployeePageEmployeeTable.SelectedItem as Employee;
                    EmployeeRoleManagementWindow employeeRoleManagementWindow = new EmployeeRoleManagementWindow();
                    employeeRoleManagementWindow.rightLB.ItemsSource = Emp.Roles.ToList();
                    employeeRoleManagementWindow.leftLB.ItemsSource  = JackyDigitalXDBEntities.Roles.ToList();
                    employeeRoleManagementWindow.ShowDialog();

                    if (employeeRoleManagementWindow.NewAdminNeeded == false)
                    {
                        JackyDigitalXDBEntities.SaveChanges();
                        listViewEditEmployeePageRoleTable.ItemsSource = null;
                        JackyDigitalXDBEntities = new JackyDigitalXDBEntities();
                        listViewEmployeePageEmployeeTable.ItemsSource   = JackyDigitalXDBEntities.Employees.ToList();
                        listViewEmployeePageEmployeeTable.SelectedIndex = i;
                        Binding binding = new Binding("SelectedItem.Roles");
                        binding.Source = listViewEmployeePageEmployeeTable;
                        listViewEditEmployeePageRoleTable.SetBinding(ListView.ItemsSourceProperty, binding);
                    }
                    else
                    {
                        AddNewAdmin addNewAdmin = new AddNewAdmin();
                        addNewAdmin.listViewEmployeePageEmployeeTable.ItemsSource = JackyDigitalXDBEntities.Employees.ToList();
                        addNewAdmin.ShowDialog();

                        while (addNewAdmin.IsSelected == false)
                        {
                            MessageBox.Show("A new Administrator is required because the system must have ONE (and only one) Administrator at any time. Please choose a new Administrator in the new dialog box.");
                            addNewAdmin = new AddNewAdmin();
                            addNewAdmin.listViewEmployeePageEmployeeTable.ItemsSource = JackyDigitalXDBEntities.Employees.ToList();
                            addNewAdmin.ShowDialog();
                        }
                        Role adminRole = (from ar in JackyDigitalXDBEntities.Roles
                                          where ar.Role1 == verification.Administrator
                                          select ar).FirstOrDefault();
                        Emp.Roles.Remove(adminRole);
                        addNewAdmin.NewAdmin.Roles.Add(adminRole);
                        JackyDigitalXDBEntities.SaveChanges();
                        listViewEmployeePageEmployeeTable.ItemsSource   = null;
                        listViewEmployeePageEmployeeTable.ItemsSource   = JackyDigitalXDBEntities.Employees.ToList();
                        listViewEmployeePageEmployeeTable.SelectedIndex = i;
                        MessageBox.Show(string.Format("You successfully assigned Administrator role to {0}  {1}", addNewAdmin.NewAdmin.FirstName, addNewAdmin.NewAdmin.LastName));
                    }
                }
                else
                {
                    int i = listViewEmployeePageEmployeeTable.SelectedIndex;
                    Emp          = listViewEmployeePageEmployeeTable.SelectedItem as Employee;
                    verification = new Verification();
                    var selectedEmployeeRoles = JackyDigitalXDBEntities.selectEmployeeRoles(Emp.EmployeeID);
                    if (selectedEmployeeRoles.Contains(verification.Administrator))
                    {
                        MessageBox.Show("You do NOT have permission to modify this user");
                    }
                    else
                    {
                        var rolesWithoutAdmin = from rwa in JackyDigitalXDBEntities.Roles
                                                where rwa.Role1 != verification.Administrator
                                                select rwa;

                        EmployeeRoleManagementWindow employeeRoleManagementWindow = new EmployeeRoleManagementWindow();
                        employeeRoleManagementWindow.rightLB.ItemsSource = Emp.Roles.ToList();
                        employeeRoleManagementWindow.leftLB.ItemsSource  = rolesWithoutAdmin.ToList();
                        employeeRoleManagementWindow.ShowDialog();
                        JackyDigitalXDBEntities.SaveChanges();
                        listViewEditEmployeePageRoleTable.ItemsSource = null;
                        JackyDigitalXDBEntities = new JackyDigitalXDBEntities();
                        listViewEmployeePageEmployeeTable.ItemsSource   = JackyDigitalXDBEntities.Employees.ToList();
                        listViewEmployeePageEmployeeTable.SelectedIndex = i;
                        Binding binding = new Binding("SelectedItem.Roles");
                        binding.Source = listViewEmployeePageEmployeeTable;
                        listViewEditEmployeePageRoleTable.SetBinding(ListView.ItemsSourceProperty, binding);
                    }
                }
            }
            else
            {
                MessageBox.Show("Please select an employee first!");
            }
        }
示例#2
0
        private void ButtonEditEmployeeBasicInformationEmployeePage_Click(object sender, RoutedEventArgs e)
        {
            if (listViewEmployeePageEmployeeTable.SelectedItem != null)
            {
                int i = listViewEmployeePageEmployeeTable.SelectedIndex;
                Emp = listViewEmployeePageEmployeeTable.SelectedItem as Employee;

                Employee employee = (from emp in JackyDigitalXDBEntities.Employees
                                     where emp.Username == MainWindow.Username
                                     select emp).FirstOrDefault();
                int          employeeID        = employee.EmployeeID;
                var          thisEmployeeRoles = JackyDigitalXDBEntities.selectEmployeeRoles(employeeID);
                Verification verification      = new Verification();

                if (thisEmployeeRoles.Contains(verification.Administrator))
                {
                    OriginalEmployeeUsername = Emp.Username;
                    OriginalPassword         = Emp.Password;
                    OriginalPicture          = Emp.EmployeeImage;
                    EditEmployeeBasicInformation editEmployeeBasicInformation = new EditEmployeeBasicInformation();
                    editEmployeeBasicInformation.DataContext = listViewEmployeePageEmployeeTable.SelectedItem;
                    editEmployeeBasicInformation.passwordBoxEditEmployeeBasicInformation.Visibility        = Visibility.Collapsed;
                    editEmployeeBasicInformation.passwordBoxConfirmEditEmployeeBasicInformation.Visibility = Visibility.Collapsed;
                    editEmployeeBasicInformation.ShowDialog();

                    if (editEmployeeBasicInformation.SaveButtonPressed == true)
                    {
                        JackyDigitalXDBEntities.SaveChanges();
                        JackyDigitalXDBEntities = new JackyDigitalXDBEntities();
                        listViewEmployeePageEmployeeTable.ItemsSource   = JackyDigitalXDBEntities.Employees.ToList();
                        listViewEmployeePageEmployeeTable.SelectedIndex = i;
                        Helper.ShowMessage1();
                    }
                    else
                    {
                        JackyDigitalXDBEntities = new JackyDigitalXDBEntities();
                        listViewEmployeePageEmployeeTable.ItemsSource   = JackyDigitalXDBEntities.Employees.ToList();
                        listViewEmployeePageEmployeeTable.SelectedIndex = i;
                    }
                }
                else
                {
                    verification = new Verification();
                    var selectedEmployeeRoles = JackyDigitalXDBEntities.selectEmployeeRoles(Emp.EmployeeID);
                    if (selectedEmployeeRoles.Contains(verification.Administrator))
                    {
                        MessageBox.Show("You do NOT have permission to modify this user");
                    }
                    else
                    {
                        OriginalEmployeeUsername = Emp.Username;
                        OriginalPassword         = Emp.Password;
                        OriginalPicture          = Emp.EmployeeImage;
                        EditEmployeeBasicInformation editEmployeeBasicInformation = new EditEmployeeBasicInformation();
                        editEmployeeBasicInformation.DataContext = listViewEmployeePageEmployeeTable.SelectedItem;
                        editEmployeeBasicInformation.passwordBoxEditEmployeeBasicInformation.Visibility        = Visibility.Collapsed;
                        editEmployeeBasicInformation.passwordBoxConfirmEditEmployeeBasicInformation.Visibility = Visibility.Collapsed;
                        editEmployeeBasicInformation.ShowDialog();

                        if (editEmployeeBasicInformation.SaveButtonPressed == true)
                        {
                            JackyDigitalXDBEntities.SaveChanges();
                            JackyDigitalXDBEntities = new JackyDigitalXDBEntities();
                            listViewEmployeePageEmployeeTable.ItemsSource   = JackyDigitalXDBEntities.Employees.ToList();
                            listViewEmployeePageEmployeeTable.SelectedIndex = i;
                            Helper.ShowMessage1();
                        }
                        else
                        {
                            JackyDigitalXDBEntities = new JackyDigitalXDBEntities();
                            listViewEmployeePageEmployeeTable.ItemsSource   = JackyDigitalXDBEntities.Employees.ToList();
                            listViewEmployeePageEmployeeTable.SelectedIndex = i;
                        }
                    }
                }
            }
            else
            {
                MessageBox.Show("Please select an employee first!");
            }
        }