public IActionResult CreateEmployee(int departmentId, [FromBody] EmployeeDtoCreation employee)
        {
            if (employee == null)
            {
                return(BadRequest());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            // check to see if departement exist?

            if (!repo.DepartmentExist(departmentId))
            {
                return(NotFound());
            }

            // mapping
            var finalEmployee = AutoMapper.Mapper.Map <Employees>(employee);

            repo.addEmployeeForDepartment(departmentId, finalEmployee);
            if (!repo.Save())
            {
                return(StatusCode(500, "An error happened while handling yor request"));
            }

            var createdEmployee = AutoMapper.Mapper.Map <EmployeeDto>(finalEmployee);

            return(CreatedAtAction("GetEmployee",
                                   new { departmentId = departmentId, id = createdEmployee.ID }, createdEmployee));
        }
        public IActionResult UpdateEmployee(int departmentId, int id, [FromBody] EmployeeDtoCreation employee)
        {
            if (employee == null)
            {
                return(BadRequest());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            // check to see if departement exist?

            if (!repo.DepartmentExist(departmentId))
            {
                return(NotFound());
            }
            // check to find the employee to update
            var findEmp = repo.GetEmployeesFromDepartment(departmentId, id);


            if (findEmp == null)
            {
                return(NotFound()); // return null if it doesn't exist
            }

            AutoMapper.Mapper.Map(employee, findEmp);
            if (!repo.Save())
            {
                return(StatusCode(500, "An error happened while handling yor request"));
            }

            return(NoContent());
        }