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