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;
        }