예제 #1
0
        /// <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);
        }
예제 #2
0
        /// <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);
        }