CapRaffle.Domain.Implementation.StatisticRepository.GetUserStatisticForCategory C# (CSharp) Method

GetUserStatisticForCategory() private method

private GetUserStatisticForCategory ( ) : List
return List
        private List<UserStatistics> GetUserStatisticForCategory()
        {
            var participants = context.UserEvents.Where(x => x.Event.CategoryId == categoryId).GroupBy(x => x.User.Name).ToList();
            var winners = context.Winners.Where(x => x.CatogoryId == categoryId).ToList();
            var statistics = new List<UserStatistics>();

            foreach (var participant in participants)
            {
                var wins = winners.Where(x => x.User.Name.Equals(participant.Key)).Count();
                var numberOfParticipations = participant.Count() + wins;
                var losses = numberOfParticipations - wins;
                statistics.Add(
                    new UserStatistics {
                        Name = participant.Key,
                        Wins = wins,
                        NumberOfParticipations = numberOfParticipations,
                        Losses = losses
                    });
            }
            var groupWinners = winners.GroupBy(x => x.User.Name).ToList();
            foreach (var winner in groupWinners)
            {
                if (statistics.Where(x => x.Name.Equals(winner.Key)).Count() == 0)
                {
                    var wins = winner.Count();
                    var numberOfParticipations = wins;
                    var losses = 0;
                    statistics.Add(
                        new UserStatistics
                        {
                            Name = winner.Key,
                            Wins = wins,
                            NumberOfParticipations = numberOfParticipations,
                            Losses = losses
                        });
                }
            }
            return statistics;
        }