public static List<Division> GetAll(this DivisionServices service, GetDivisions request)
        {
            var seasons = new List<Division>();
            GetDivisionsResponse response;

            request.Page = 1;

            do
            {
                response = service.Get(request);
                seasons.AddRange(response.Divisions);

                request.Page++;
            } while (request.Page <= response.Meta.TotalPages);

            return seasons;
        }
        // Get Divisions from collection
        public GetDivisionsResponse Get(GetDivisions request)
        {
            int page = request.Page ?? 1;

            var query = Db.From<Division>();

            if (request.Year.HasValue)
                query.And(q => q.Year == request.Year);

            if (!request.IncludeInactive)
                query.And(q => q.Active);

            query.OrderByDescending(q => q.Year)
                 .ThenBy(q => q.Order)
                 .PageTo(page);

            var divisions = Db.Select(query);

            divisions.ForEach(division =>
            {
                division.Players.AddRange(
                    Db.Select<Player>(
                        q => q.Join<Player, DivisionalPlayer>()
                              .Where<DivisionalPlayer>(divPlayer => divPlayer.DivisionId == division.Id)));
            });

            return new GetDivisionsResponse
            {
                Divisions = divisions,
                Meta =
                    new Meta(Request?.AbsoluteUri)
                    {
                        Page = page,
                        TotalCount = Db.Count(query)
                    }
            };
        }