public List <RulebookDTO> GetRulebooksFiltered(RulebookFilter filter)
        {
            var elementsByPage = 3;

            var rulebooksFiltered = repository.FilterRulebooks(filter.Title,
                                                               filter.Asc, filter.Year);

            if (rulebooksFiltered == null || rulebooksFiltered.Count == 0)
            {
                return(null);
            }

            List <Rulebook> paginationResult;

            if (rulebooksFiltered.Count > elementsByPage)
            {
                paginationResult = rulebooksFiltered
                                   .Skip(filter.Page * elementsByPage)
                                   .Take(elementsByPage)
                                   .ToList();
            }
            else
            {
                paginationResult = rulebooksFiltered;
            }

            var result = RulebookDTOMapper.Map(paginationResult);

            return(result);
        }
        public ActionResult <IEnumerable <RulebookDTO> > GetRulebooksFiltered(RulebookFilter filter)
        {
            var allRulebooks = service.GetRulebooksFiltered(filter);

            if (allRulebooks == null || allRulebooks.Count == 0)
            {
                return(NoContent());
            }

            return(allRulebooks);
        }