public Task <Contracts.PaginatedResponseContract <AccountContract> > ListByPages([FromQuery] string search = null,
                                                                                         [FromQuery] int?skip      = null, [FromQuery] int?take = null, bool showDeleted = false, bool isAscendingOrder = true)
        {
            if ((skip.HasValue && !take.HasValue) || (!skip.HasValue && take.HasValue))
            {
                throw new ArgumentOutOfRangeException(nameof(skip), "Both skip and take must be set or unset");
            }

            if (take.HasValue && (take <= 0 || skip < 0))
            {
                throw new ArgumentOutOfRangeException(nameof(skip), "Skip must be >= 0, take must be > 0");
            }

            return(Convert(_accountManagementService.ListByPagesAsync(search, showDeleted, skip, take, isAscendingOrder)));
        }