<commit_before>﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using RElmah.Common;
using RElmah.Foundation;
using RElmah.Models;

namespace RElmah.Services
{
    public class InMemoryErrorsBacklog : IErrorsBacklog
    {
        private readonly AtomicImmutableList<ErrorPayload> _errors =
            new AtomicImmutableList<ErrorPayload>();

        public Task Store(ErrorPayload payload)
        {
            return Task.Factory.StartNew(() => _errors.Add(payload));
        }

        public Task<ValueOrError<Recap>> GetApplicationsRecap(IEnumerable<Application> apps, Func<IEnumerable<ErrorPayload>, int> processor)
        {
            var errors =
                from e in _errors
                where apps.Select(a => a.Name).Contains(e.SourceId)
                select e;

            var grouped =
                from e in errors
                group e by e.SourceId into g
                let types = 
                    from t in g<commit_msg>Usings<commit_after>﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using RElmah.Common;
using RElmah.Foundation;
using RElmah.Models;

namespace RElmah.Services
{
    public class InMemoryErrorsBacklog : IErrorsBacklog
    {
        private readonly AtomicImmutableList<ErrorPayload> _errors =
            new AtomicImmutableList<ErrorPayload>();

        public Task Store(ErrorPayload payload)
        {
            return Task.Factory.StartNew(() => _errors.Add(payload));
        }

        public Task<ValueOrError<Recap>> GetApplicationsRecap(IEnumerable<Application> apps, Func<IEnumerable<ErrorPayload>, int> processor)
        {
            var errors =
                from e in _errors
                where apps.Select(a => a.Name).Contains(e.SourceId)
                select e;

            var grouped =
                from e in errors
                group e by e.SourceId into g
                let types = 
                    from t in g
{'fraction_non_alphanumeric': 0.07647058823529412, 'fraction_numerical': 0.0, 'mean_word_length': 2.1496913580246915, 'pattern_counts': {'":': 0, '<': 17, '<?xml version=': 0, '>': 21, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6714639', 'n_tokens_mistral': 556, 'n_tokens_neox': 529, 'n_words': 139}