Пример #1
0
        //Append [FromQuery] in signature below in case the data is sent differently using Querystring method i.e ?employeeId=1&Vacation..
        public async Task <IActionResult> GetEmployeeLeavesAllByDate(int vacationTypeId,
                                                                     DateTime dateFrom, DateTime dateTo)
        {
            _logger.LogInformation($"Performing GetEmployeeLeavesByDate operation having values" +
                                   $"vacationTypeId={vacationTypeId} + dateFrom={dateFrom} + dateTo={dateTo}");

            EmployeeLeavesAllDateDTO employeeLeavesAllDateDTO = new EmployeeLeavesAllDateDTO();

            employeeLeavesAllDateDTO.VacationTypeId = vacationTypeId;
            employeeLeavesAllDateDTO.DateFrom       = dateFrom;
            employeeLeavesAllDateDTO.DateTo         = dateTo;
            _logger.LogDebug("Payload employeeLeavesAllDateDTO =" + employeeLeavesAllDateDTO);
            var employeeLeavesDateDTO = await _employeeLeavesService.GetEmployeeLeavesAllByDate(employeeLeavesAllDateDTO);

            return(Ok(employeeLeavesDateDTO));
        }
        public async Task <IEnumerable <EmployeeLeavesDateDTO> > GetEmployeeLeavesAllByDate(EmployeeLeavesAllDateDTO employeeLeavesAllDateDTO)
        {
            try
            {
                _logger.LogInformation("Performing Service operation GetEmployeeLeavesAllByDate");
                var employeeLeavesEntity = _mapper.Map <Entities.EmployeeLeavesEntity>(employeeLeavesAllDateDTO);
                _logger.LogInformation("Calling Repository operation GetEmployeeLeavesAllByDateAsync ");
                var listEmployeeEntities = await _employeeLeavesRepository.GetEmployeeLeavesAllByDateAsync(employeeLeavesEntity);

                _logger.LogDebug("Payload returned List of all employees in a given date range for a specific vacationTypeId");
                var employeeLeavesDateDTO = _mapper.Map <IEnumerable <Models.EmployeeLeavesDateDTO> >(listEmployeeEntities);
                return(employeeLeavesDateDTO);
            }
            catch (Exception ex)
            {
                _logger.LogError("Exception occured while retrieving employee leaves data " + ex);
                throw;
            }
        }