示例#1
0
        private void showEmployees(object sender, EventArgs e)
        {
            Button         buttonClicked          = (Button)sender;
            AfficheProject afficheProjectSelected = (AfficheProject)buttonClicked.Parent;
            Boolean        isAlreadySelected      = false;

            projectSelected = null;

            //To know is the project has already selected or not
            if (afficheProjectSelected.getNameProject().BackColor == Color.Gray)
            {
                isAlreadySelected = true;
            }
            //We deselect all the project and so clear ListEmployees to visually have any project selected
            foreach (AfficheProject afficheProject in this.pnlList.Controls)
            {
                afficheProject.getNameProject().BackColor = Color.White;
            }
            pnlListEmployees.Controls.Clear();

            //If the project has never selected, we create the employees in the ListEmployees
            if (!isAlreadySelected)
            {
                afficheProjectSelected.getNameProject().BackColor = Color.Gray;
                projectSelected = afficheProjectSelected.Project;
                int i = 0;
                foreach (Employee employee in company.ListEmployee)
                {
                    AfficheEmployee afficheEmployee          = new AfficheEmployee(2, employee);
                    afficheEmployee.getButtonSelect().Click += new EventHandler(select);
                    afficheEmployee.TopLevel = false;
                    afficheEmployee.Location = new Point(0, i * 100);
                    i++;
                    afficheEmployee.Show();
                    Button btnDelete = afficheEmployee.getButtonDelete();
                    btnDelete.Click += new EventHandler(remove);
                    if (projectSelected.EmployeeAssigned.Contains(employee))
                    {
                        afficheEmployee.getButtonSelect().Checked = true;
                    }
                    this.pnlListEmployees.Controls.Add(afficheEmployee);
                }
                pnlListEmployees.Size = new Size(300, 300);
            }
        }
示例#2
0
        private void select(object sender, EventArgs e)
        {
            CheckBox        checkAssigned   = (CheckBox)sender;
            AfficheEmployee afficheEmployee = (AfficheEmployee)checkAssigned.Parent;

            if (checkAssigned.Checked)
            {
                if (projectSelected.Level <= afficheEmployee.Employee.Level)
                {
                    projectSelected.addEmployee(afficheEmployee.Employee);
                    afficheEmployee.Employee.addProject(projectSelected);
                }
                else
                {
                    afficheEmployee.getButtonSelect().Checked = false;
                    afficheEmployee.getButtonSelect().Text    = "level insufficient";
                }
            }
            else
            {
                projectSelected.removeEmployee(afficheEmployee.Employee);
                afficheEmployee.Employee.removeProject(projectSelected);
            }
        }