/// <summary> /// True if any data found /// </summary> private bool SearchLogsForwards(DateTime datetimeFrom, JobCancellationManager jobCancellationManager) { var dateFrom = datetimeFrom; var dateTo = datetimeFrom + TimeSpan.FromDays(30); var timeNow = Time.Get.LocalNow; bool end = false; if (dateTo > timeNow) { dateTo = timeNow; end = true; } var results = logsSearcher.Scan( new LogSearchParameters() { CharacterName = characterName, DateFrom = dateFrom, DateTo = dateTo, LogType = LogType.Event }, jobCancellationManager.GetLinkedToken()); UpdateEntity(dateFrom, dateTo); var found = ParseForServerInfo(results); if (found) { return true; } if (end) { return false; } return SearchLogsForwards(dateTo, jobCancellationManager); }
/// <summary> /// True if any data found /// </summary> private bool SearchLogsBackwards(DateTime datetimeTo, JobCancellationManager jobCancellationManager) { var dateFrom = datetimeTo - TimeSpan.FromDays(30); if (datetimeTo < wurmCharacterLogFiles.OldestLogFileDate) { return false; } var results = logsSearcher.Scan( new LogSearchParameters() { CharacterName = characterName, DateFrom = dateFrom, DateTo = datetimeTo, LogType = LogType.Event }, jobCancellationManager.GetLinkedToken()); UpdateEntity(dateFrom, datetimeTo); var found = ParseForServerInfo(results); if (found) { return true; } return SearchLogsBackwards(dateFrom, jobCancellationManager); }