private async Task <List <StudentDocument> > Get() { var idsWithNoOfRetry = await _redisService.ExtractIdsFromSetWithScore(nameof(StudentDocument)) .ConfigureAwait(false); if (idsWithNoOfRetry == null || idsWithNoOfRetry.Count == 0) { return(null); } var students = new List <StudentDocument>(); foreach (var(id, noOfRetries) in idsWithNoOfRetry) { var currentRetryAttempt = (int)noOfRetries; StudentModel studentModel = _studentService.Get(id); if (studentModel != null) { Logger.Debug($"Student id {id} found. Will be synced in ES"); students.Add(BuildStudent(studentModel, currentRetryAttempt)); } else { Logger.Debug($"Student id {id} not found. Will be deleted from ES"); students.Add(new StudentDocument { Id = id, Deleted = true, NoOfRetry = currentRetryAttempt }); } } return(students); }