public async Task <GetHolidayDto> GetById(int id) { var holiday = await _holidaysRepository.GetById(id); var holidayDto = _mapper.Map <GetHolidayDto>(holiday); if (holidayDto != null) { holidayDto.ConfirmerFullName = await GetConfirmerFullName(holidayDto); } return(holidayDto); }
public async Task <int> GenerateHolidayDocx(int holidayId, FileTypeEnum holidayDocumentType) { var holiday = await _holidaysRepository.GetById(holidayId); var employee = await _employeesRepository.GetById(holiday.EmployeeId); return(await _docxGenerator.GenerateDocx(holiday, employee, holidayDocumentType)); }
public async Task <bool> RequestClientApproval(int holidayId) { var holiday = await _repositoryHolidays.GetById(holidayId); var employee = await _repositoryEmployees.GetById(holiday.EmployeeId); if (employee.ClientId == null) { await RequestAdminApproval(holidayId, EmployeeClientStatus.HAS_NO_CLIENT, null); return(true); } var client = await _repositoryClients.GetById(employee.ClientId.GetValueOrDefault()); await _emailService.ConfirmHolidayWithClient(client, employee, holiday); return(true); }
public async Task <string> GetGeneratedDocxName(int holidayId, FileTypeEnum holidayDocumentType) { var holiday = await _holidaysRepository.GetById(holidayId); var generationPath = _configuration["DocxGeneration:NameFormat"] .Replace("{holidayId}", holiday.Id.ToString()) .Replace("{documentType}", holidayDocumentType.ToString()) .Replace("{holidayType}", holiday.Type.ToString()); return(generationPath); }
public async Task ValidateHolidayConfirmationReadiness(int holidayId, int confirmerId) { var holiday = await _holidayRepository.GetById(holidayId); if (holiday == null) { throw new InvalidOperationException("Holiday request not found."); } await ValidateHoliday(holiday); await ValidateConfirmer(confirmerId); }