private void AssignJobScreen_Load(object sender, EventArgs e)
        {
            switch (selectedJob.JobCategory)
            {
            case "Software":
                skillCategories = employeeSkillCategories.software;
                break;

            case "Hardware":
                skillCategories = employeeSkillCategories.hardware;
                break;

            default:
                skillCategories = employeeSkillCategories.software;
                break;
            }

            switch (selectedJob.JobType)
            {
            case "Installation":
                employeeSkills = employeeSkillsTypes.installation;
                break;

            case "Repair":
                employeeSkills = employeeSkillsTypes.repair;
                break;

            default:
                employeeSkills = employeeSkillsTypes.installation;
                break;
            }

            List <Employee> assignableUsers = employeeBusinessLogic.listEmployeesBySkillCategoryAndType(skillCategories, employeeSkills, true);

            lstTechnicians.DataSource = assignableUsers;
        }
Example #2
0
        public List <Employee> listEmployeesBySkillCategoryAndType(employeeSkillCategories category, employeeSkillsTypes type, bool onlyActiveUsers = false)
        {
            try
            {
                string ct = "";
                string tp = "";

                List <Employee> employees    = new List <Employee>();
                DataTable       employeeData = new DataTable();

                switch (category)
                {
                case employeeSkillCategories.software:
                    ct = "Software";
                    break;

                case employeeSkillCategories.hardware:
                    ct = "Hardware";
                    break;

                default:
                    break;
                }
                switch (type)
                {
                case employeeSkillsTypes.installation:
                    tp = "Installation";
                    break;

                case employeeSkillsTypes.repair:
                    tp = "Repair";
                    break;

                default:
                    break;
                }

                employeeData = db.ListEmployeesForJob(category: ct, type: tp);

                List <Employee> activeEmployees = employeesOnStandBy(employeeType.technician);

                for (int i = 0; i < employeeData.Rows.Count; i++)
                {
                    if (onlyActiveUsers)
                    {
                        if (activeEmployees.FindIndex(employee => employee.Id == new TechnicalStaff(i, employeeData, new Pay("Technician", 600)).Id) >= 0)
                        {
                            employees.Add(new TechnicalStaff(i, employeeData, new Pay("Technician", 600)));
                        }
                    }
                    else
                    {
                        employees.Add(new TechnicalStaff(i, employeeData, new Pay("Technician", 600)));
                    }
                }

                return(employees);
            }
            catch (Exception e)
            {
                MessageBox.Show("EmployeeBusinessLogic : listEmployeesBySkillCategoryAndType ERROR:" + e.Message);
                throw;
            }
        }
Example #3
0
        public void updateEmployeeSkill(string skillID, string skillDescription, employeeSkillCategories category, employeeSkillsTypes type)
        {
            try
            {
                Skill newSkill = new Skill();
                newSkill.ID          = skillID;
                newSkill.Description = skillDescription;
                switch (category)
                {
                case employeeSkillCategories.software:
                    newSkill.Category = "Software";
                    break;

                case employeeSkillCategories.hardware:
                    newSkill.Category = "Hardware";
                    break;

                default:
                    break;
                }
                switch (type)
                {
                case employeeSkillsTypes.installation:
                    newSkill.Type = "Installation";
                    break;

                case employeeSkillsTypes.repair:
                    newSkill.Type = "Repair";
                    break;

                default:
                    break;
                }
                db.UpdateSkill(newSkill);
            }
            catch (Exception e)
            {
                MessageBox.Show("EmployeeBusinessLogic : updateEmployeeSkill ERROR:" + e.Message);
                throw;
            }
        }