Пример #1
0
        public IActionResult Runs()
        {
            var viewmodel = new AdminListViewModel();

            var runs = _analyticsReader
                       .Get()
                       .Select(x => new RunAdminViewModel(x));

            var jobs    = _mapRenderer.GetJobs();
            var results = _mapRenderer.GetResults();

            foreach (var run in runs)
            {
                var job = jobs.FirstOrDefault(x => x.Worldname == run.Worldname);
                if (job != null)
                {
                    run.HasPendingRenderJob = true;
                }

                var result = results.FirstOrDefault(x => x.Worldname == run.Worldname);
                if (result != null)
                {
                    run.HasRenderedMap = true;
                }

                viewmodel.Runs.Add(run);
            }

            return(View(viewmodel));
        }
        public void Adjust(RunManuals manuals)
        {
            var analytics = _analyticsReader.Get(manuals.Worldname);

            analytics.Timings = applyManualInput(analytics.Timings, manuals);
            _analyticsWriter.Upsert(analytics);
        }
Пример #3
0
        public int Prioritize(string worldname)
        {
            var data = _analytics.Get(worldname);

            var priority = 0;

            priority += outcomePriorities[data.Outcome];
            priority += getDatePriority(data.World.CreatedOn);

            return(priority);
        }
Пример #4
0
        private RunTiming getTimingForSection(Sections section)
        {
            var feature = _mapper.Map(section);
            var times   = _timingsFinder.Get(feature);
            var fastest = times.OrderBy(x => x.Value).FirstOrDefault();
            var run     = fastest != null
                ? _analyticsReader.Get(fastest.Worldname)
                : null;

            return(new RunTiming(section, fastest, run));
        }
Пример #5
0
        public void Index()
        {
            var analytics = _reader.Get();

            var index = _initialIndex + 1;

            foreach (var analytic in analytics.OrderBy(x => x.Timings.StartedOn))
            {
                if (analytic.Outcome == Outcomes.Unknown || analytic.Outcome == Outcomes.Untouched)
                {
                    continue;
                }

                analytic.Index = index;
                _writer.Upsert(analytic);
                index++;
            }
        }
Пример #6
0
 public IEnumerable <RunAnalytics> GetAll()
 => _analyticsReader.Get();