private void EmployeeDocumentExpiryJob(EmailService emailService)
        {
            List <ExpiredDocuments> expireds = new List <ExpiredDocuments>();
            var expiryDate      = DateTime.Today.AddDays(10).Date;
            var passportDetails = from ed in UnitOfWork.EmployeeDetailsRepository.Get()
                                  where ed.PassportExpiryDate < expiryDate
                                  select new
                                  ExpiredDocuments
            {
                DocumentName = "Passport",
                EmployeeName = ed.EmployeeName,
                ExpiryDate   = ed.PassportExpiryDate
            };

            expireds.Add(passportDetails?.FirstOrDefault());
            var data            = UnitOfWork.EmployeeDetailsRepository.Get();
            var residentDetails = from ed in UnitOfWork.EmployeeDetailsRepository.Get()
                                  where ed.ResidentExpiryDate < expiryDate
                                  select new
                                  ExpiredDocuments
            {
                DocumentName = "Resident",
                EmployeeName = ed.EmployeeName,
                ExpiryDate   = ed.PassportExpiryDate
            };

            expireds.Add(residentDetails?.FirstOrDefault());
            var contractDetails = from ed in UnitOfWork.EmployeeDetailsRepository.Get()
                                  where ed.ContractEndDate < expiryDate
                                  select new
                                  ExpiredDocuments
            {
                DocumentName = "Contract",
                EmployeeName = ed.EmployeeName,
                ExpiryDate   = ed.PassportExpiryDate
            };

            expireds.Add(contractDetails?.FirstOrDefault());

            var userDocuments = from ef in UnitOfWork.EmployeeFileUploadsRepository.Get()
                                join dt in UnitOfWork.DocumentTypeRepository.Get() on ef.DocumentId equals dt.DocumentId
                                join ed in UnitOfWork.EmployeeDetailsRepository.Get() on ef.EmployeeReferenceNo equals ed.EmployeeReferenceNo
                                where ef.ExpiryDate != null && ef.ExpiryDate < expiryDate
                                select new ExpiredDocuments()
            {
                DocumentName = dt.DocumentName,
                EmployeeName = ed.EmployeeName,
                ExpiryDate   = ef.ExpiryDate
            };

            if (userDocuments != null)
            {
                expireds.AddRange(userDocuments);
            }
            if (expireds != default(List <ExpiredDocuments>))
            {
                string strBody = EmailTemplateHelper.UserDocumentDetails(expireds)
                                 .Replace("[APPLICATIONLINK]", "https://aris-amt.com");

                emailService.Send(strManagerMails, "", "Employee Document Expiry Reminder", strBody);
            }
            else
            {
                Console.WriteLine("No mails to send");
            }
        }