CapRaffle.Domain.Implementation.StatisticRepository.CategoryStatistics C# (CSharp) Метод

CategoryStatistics() публичный Метод

public CategoryStatistics ( int categoryId ) : CategoryStatistics
categoryId int
Результат CapRaffle.Domain.Statistics.CategoryStatistics
        public CategoryStatistics CategoryStatistics(int categoryId)
        {
            this.categoryId = categoryId;
            var category = context.Categories.Where(x => x.CategoryId == categoryId);
            if (category.Count() == 0)
            {
                throw new ArgumentException("Category does not exist");
            }
            var userStatistics = GetUserStatisticForCategory();

            var catStatistics = new CategoryStatistics();
            catStatistics.Category = category.FirstOrDefault();
            catStatistics.Top5Winners = userStatistics.OrderByDescending(x => x.Wins).Take(5).ToList();
            catStatistics.Top5Loosers = userStatistics.OrderByDescending(x => x.Losses).Take(5).ToList();
            catStatistics.NumberOfEventsInCategory = NumberOfEventsInCategory();
            catStatistics.NumberOfRaffleParticipantsInCategory = NumberOfRaffleParticipantsInCategory();
            catStatistics.NumberOfEventTicketsHandedOut = NumberOfEventTicketsHandedOut();
            catStatistics.UniqueNumberOfRaffleParticipantsInCategory = UniqueNumberOfRaffleParticipantsInCategory();
            catStatistics.NumberOfEventTicketsNotHandedOut = NumberOfEventTicketsNotHandedOut();
            catStatistics.NumberOfTimesEventCreatorHasWonHisOwnRaffle = NumberOfTimesEventCreatorHasWonHisOwnRaffle();

            return catStatistics;
        }