public static Model.XML.Event[] Get(DateTime dateTime) { IEnumerable <Model.XML.Event> scrapeMatches = null; if (dateTime > DateTime.Now) { var maxes = FileNameHelper.GetDateTimeFromFileName().MaxBy(_ => _.Item1); var deserialisedFile = Smarkets.DAL.XML.Repo.GetOdds(maxes.SingleOrDefault().Item2); scrapeMatches = deserialisedFile.Events.Where(DAL.XML.Repo.GetPredicate()).Where(_ => _.DateAsDateTime == dateTime.Date); } else { var deserialisedFile = Smarkets.DAL.XML.Repo.GetOdds(FileNameHelper.GetDateTimeFromFileName().Where(_ => dateTime.Date - _.Item1 > default(TimeSpan)).MinBy(_ => dateTime.Date - _.Item1).FirstOrDefault().Item2); scrapeMatches = deserialisedFile.Events.Where(DAL.XML.Repo.GetPredicate()).Where(_ => _.DateAsDateTime == dateTime.Date); } return(scrapeMatches.ToArray()); }