public IActionResult UpdateEmployee(int id, [FromBody] EmployeeValidationWrapper employee)
        {
            try
            {
                if (employee == null)
                {
                    _logger.LogInformation("Invalid request body.");
                    return(StatusCode(400, "Invalid request body."));
                }

                _logger.LogInformation("Validating request body...");
                if (!ModelState.IsValid)
                {
                    _logger.LogInformation($"Errors in validation: {ModelState}");
                    return(BadRequest(ModelState));
                }

                var updatedEmployee = _employeeRepository.UpdateEmployee(id, employee);
                if (updatedEmployee == null)
                {
                    return(StatusCode(400, $"Employee with id {id} not found"));
                }
                //else
                //{
                return(CreatedAtRoute("GetEmployee", new { id = updatedEmployee.Id }, updatedEmployee));
                //}
            }
            catch (Exception e)
            {
                _logger.LogError($"Something went wrong: {e}");
                return(StatusCode(500, "Internal Server Error"));
            }
        }
        public EmployeeDTO UpdateEmployee(int employeeId, EmployeeValidationWrapper employee)
        {
            var toUpdate = _context.Employees.Where(e => e.Id == employeeId).FirstOrDefault();

            if (toUpdate == null)
            {
                _logger.LogInformation($"Employee with id {employeeId} does not exist.");
                return(null);
            }

            _logger.LogInformation($"Updating employee with id {employeeId}...");
            Mapper.Map(employee, toUpdate);
            _context.SaveChanges();

            _logger.LogInformation($"Successfully updated employee with id {employeeId}.");
            return(Mapper.Map <EmployeeDTO>(toUpdate));
        }