public async Task <TimeZoneListDomain> Handle(GetTimeZoneListQuery query) { query.ThrowIfNull("Invalid query parameter", nameof(query)); var searchContract = query.SearchContract; searchContract.PageNumber.ThrowIfNotPositiveNonZeroInt("Invalid page number parameter", nameof(searchContract.PageNumber)); searchContract.PageSize.ThrowIfNotPositiveNonZeroInt("Invalid page size parameter", nameof(searchContract.PageSize)); return(await _timeZoneRepository.GetTimeZoneListAsync(query.SearchContract).ConfigureAwait(false)); }