private void AddEmployeeToProjectClick(object sender, EventArgs e)
        {
            if (addEmployeeToProjectComboBox.SelectedItem == null)
            {
                var errorForm = new ErrorForm("You need to select item before clicking add.");
                errorForm.ShowDialog();
                return;
            }

            if (employeeAddWorkHoursNumUpDown.Value == 0)
            {
                var errorForm = new ErrorForm("Work hours can't be zero.");
                errorForm.ShowDialog();
                return;
            }

            var employeeWithWorkHours = new EmployeeWithWorkHours();

            employeeWithWorkHours.WorkHours = (int)employeeAddWorkHoursNumUpDown.Value;
            employeeWithWorkHours.Employee  = (Employee)addEmployeeToProjectComboBox.SelectedItem;

            removeEmployeeFromProjectComboBox.Items.Add(employeeWithWorkHours);
            foreach (var employee in EmployeeRepository.Employees)
            {
                if (employeeWithWorkHours.Employee.Oib == employee.Oib)
                {
                    addEmployeeToProjectComboBox.Items.Remove(employee);
                }
            }

            addEmployeeToProjectComboBox.ResetText();
            addEmployeeToProjectButton.Hide();
            employeeAddWorkHoursNumUpDown.ResetText();
        }
Beispiel #2
0
        private void EmployeeAddToProjectClick(object sender, EventArgs e)
        {
            if (addWorkHoursToEmployeeNumUpDown.Value == 0)
            {
                var errorForm = new ErrorForm("Work hours can't be zero.");
                errorForm.ShowDialog();
                return;
            }

            if (projectSelectEmployeesComboBox.SelectedItem == null)
            {
                var errorForm = new ErrorForm("You need to select item before clicking add.");
                errorForm.ShowDialog();
                return;
            }

            var employeeWithWorkHours = new EmployeeWithWorkHours();
            var employeeToRemove      = projectSelectEmployeesComboBox.SelectedItem;

            employeeWithWorkHours.Employee  = projectSelectEmployeesComboBox.SelectedItem as Employee;
            employeeWithWorkHours.WorkHours = (int)addWorkHoursToEmployeeNumUpDown.Value;
            EmployeeWithWorkHoursList.Add(employeeWithWorkHours);
            projectSelectEmployeesComboBox.Items.Remove(employeeToRemove);
            projectSelectEmployeesComboBox.ResetText();
            addWorkHoursToEmployeeNumUpDown.ResetText();
            employeeAddToProjectButton.Hide();
        }
        public string Add(Employee employeeToAdd, ProjectRepository projectRepository,
                          List <ProjectWithWorkHours> projectWithWorkHours)
        {
            employeeToAdd.ProjectWithWorkHours = projectWithWorkHours;
            if (!IsEmployeeValid(employeeToAdd))
            {
                return("That oib is already added.");
            }

            if (!employeeToAdd.IsOibValid())
            {
                return("Oib contains letters and doesn't have 11 characters.");
            }

            Employees.Add(employeeToAdd);
            foreach (var project in projectRepository.Projects)
            {
                foreach (var projectWithWorkHoursItem in projectWithWorkHours)
                {
                    if (projectWithWorkHoursItem.Project.Name == project.Name)
                    {
                        var employeeWithWorkHours1 = new EmployeeWithWorkHours();
                        employeeWithWorkHours1.Employee  = employeeToAdd;
                        employeeWithWorkHours1.WorkHours = projectWithWorkHoursItem.WorkHours;
                        project.EmployeeWithWorkHours.Add(employeeWithWorkHours1);
                    }
                }
            }

            return(null);
        }
        public Menu()
        {
            InitializeComponent();
            ProjectRepository  = new ProjectRepository();
            EmployeeRepository = new EmployeeRepository();
            var firstEmployee        = EmployeeRepository.Employees[0];
            var firstProject         = ProjectRepository.Projects[0];
            var projectWithWorkHours = new ProjectWithWorkHours();

            projectWithWorkHours.Project   = firstProject;
            projectWithWorkHours.WorkHours = 15;
            firstEmployee.ProjectWithWorkHours.Add(projectWithWorkHours);
            var employeeWithWorkHours = new EmployeeWithWorkHours();

            employeeWithWorkHours.Employee  = firstEmployee;
            employeeWithWorkHours.WorkHours = 15;
            firstProject.EmployeeWithWorkHours.Add(employeeWithWorkHours);
        }
        public string Edit(Employee employeeToEdit, ProjectRepository projectRepository,
                           List <ProjectWithWorkHours> projectWithWorkHours)
        {
            var projectsToAdd = employeeToEdit.ProjectWithWorkHours;

            foreach (var project in projectRepository.Projects)
            {
                foreach (var employeeWithWorkHours in project.EmployeeWithWorkHours.ToList())
                {
                    if (employeeWithWorkHours.Employee.Oib == employeeToEdit.Oib)
                    {
                        var willBeAddedInTheFuture = false;
                        foreach (var projectItem in projectWithWorkHours)
                        {
                            if (projectItem.Project.Name == project.Name)
                            {
                                willBeAddedInTheFuture = true;
                            }
                        }

                        if (project.EmployeeWithWorkHours.Count == 1 && !willBeAddedInTheFuture)
                        {
                            return("There must be at least one employee in project.");
                        }

                        project.EmployeeWithWorkHours.Remove(employeeWithWorkHours);
                    }
                }
            }

            employeeToEdit.ProjectWithWorkHours = projectWithWorkHours;
            foreach (var projectWithWorkHoursItem in projectsToAdd)
            {
                var employee1 = new EmployeeWithWorkHours();
                employee1.Employee  = employeeToEdit;
                employee1.WorkHours = projectWithWorkHoursItem.WorkHours;
                projectWithWorkHoursItem.Project.EmployeeWithWorkHours.Add(employee1);
            }

            return(null);
        }