//Append [FromQuery] in signature below in case the data is sent differently using Querystring method i.e ?employeeId=1&Vacation..
        public async Task <IActionResult> GetEmployeesByTrainingsId(int trainingId, int vacationTypeId,
                                                                    DateTime dateFrom, DateTime dateTo)
        {
            HttpContext.VerifyUserHasAnyAcceptedScope(scopeRequiredByApi);
            _logger.LogInformation($"Performing GetEmployeesByTrainingsId operation having values" +
                                   $"TrainingId = {trainingId} + vacationTypeId={vacationTypeId} + dateFrom={dateFrom} + dateTo={dateTo}");

            EmployeeTrainingsIDRequestDTO employeeTrainingsIdRequestDTO = new EmployeeTrainingsIDRequestDTO();

            employeeTrainingsIdRequestDTO.TrainingId     = trainingId;
            employeeTrainingsIdRequestDTO.VacationTypeId = vacationTypeId;
            employeeTrainingsIdRequestDTO.DateFrom       = dateFrom;
            employeeTrainingsIdRequestDTO.DateTo         = dateTo;
            _logger.LogDebug("Payload GetEmployeesByTrainingsId =" + employeeTrainingsIdRequestDTO);
            var employeeTrainingResponseDTO = await _employeeTrainingsService.GetAllEmployeeByTrainingsId(employeeTrainingsIdRequestDTO);

            return(Ok(employeeTrainingResponseDTO));
        }
        public async Task <IEnumerable <EmployeeTrainingsResponseDTO> > GetAllEmployeeByTrainingsId(EmployeeTrainingsIDRequestDTO employeeTrainingsIDRequestDTO)
        {
            try
            {
                _logger.LogInformation("Performing Service operation GetAllEmployeeByTrainingsId");
                var employeeTrainingsEntity = _mapper.Map <EmployeeTrainingsEntity>(employeeTrainingsIDRequestDTO);
                _logger.LogInformation("Calling Repository operation GetEmployeeTrainingsAllAsync ");
                var listAllEmployeeByTrainingsIDEntities = await _employeeTrainingsRepository.GetAllEmployeesByTrainingsIdAsync(employeeTrainingsEntity);

                _logger.LogDebug("Payload returned List of all employees by training ID in a given date range for a specific Training ID = " + listAllEmployeeByTrainingsIDEntities);
                var employeeTrainingsResponseDTO = _mapper.Map <IEnumerable <EmployeeTrainingsResponseDTO> >(listAllEmployeeByTrainingsIDEntities);
                return(employeeTrainingsResponseDTO);
            }
            catch (Exception ex)
            {
                _logger.LogError("Exception occured while retrieving employee All Trainings data " + ex);
                throw;
            }
        }