public async Task <IActionResult> CreateEmployee([FromBody] EmployeeForManipulationDto employee)
        {
            if (employee == null)
            {
                return(BadRequest());
            }

            if (!ModelState.IsValid)
            {
                return(UnprocessableEntity(ModelState.GetValidationErrors()));
            }

            var employeeToAdd = _mapper.Map <Employee>(employee);
            await _employeeRepository.AddAsync(employeeToAdd);

            return(CreatedAtRoute("GetEmployee", new { id = employeeToAdd.Id }, employeeToAdd));
        }
        public async Task <IActionResult> Update(int id, [FromBody] EmployeeForManipulationDto employee)
        {
            var employeeToUpdate = await _employeeRepository.GetSingleAsync(id);

            if (employeeToUpdate == null)
            {
                return(NotFound());
            }

            if (employee == null)
            {
                return(BadRequest());
            }

            if (!ModelState.IsValid)
            {
                return(UnprocessableEntity(ModelState.GetValidationErrors()));
            }

            _mapper.Map(employee, employeeToUpdate);
            await _employeeRepository.UpdateAsync(employeeToUpdate);

            return(NoContent());
        }