public IEnumerable <string> GetEmailListOfSoonToBeExpiredSubscription(int threshold) { var soonToExpire = subscriptionRepository.GetAll() .Where(sub => sub.FixedContract && IsSubscriptionExpiringSoon(threshold, sub)); var userIdsWithExpiringSub = soonToExpire .Where(sub => userRepository.GetById(sub.ClientId).Type == UserType.User) .Select(sub => sub.ClientId); var emailsOfUserWithExpiringSub = userIdsWithExpiringSub.Select(id => loginRepository.ByUserId(id).Email); return(emailsOfUserWithExpiringSub.ToList()); }