Esempio n. 1
0
        public IList<MorgueFile> GetValidMorgues(RoundProcessRequest roundRequest, IMorgueValidator validator)
        {
            IDictionary<GameFetchRequest, ScraperResponse> moregueIndexes =
                GetMorgueIndexes(roundRequest.GameFetchRequests);

            List<MorgueFile> morgueFiles =
                GetMorgueFiles(moregueIndexes, roundRequest.Round);

            var validMorgueFiles = new List<MorgueFile>();

            foreach (GameFetchRequest gameRequest in roundRequest.GameFetchRequests)
            {
                var morgue =
                    GetFirstValidMorgueFile(morgueFiles.Where(m => m.ParticipantId == gameRequest.ParticipantId), validator);

                if (morgue != null)
                    validMorgueFiles.Add(morgue);
            }

            return validMorgueFiles;
        }
Esempio n. 2
0
 private MorgueFile GetFirstValidMorgueFile(IEnumerable<MorgueFile> files, IMorgueValidator validator)
 {
     return files.OrderBy(m => m.LastModified).FirstOrDefault(validator.Validate);
 }