public Task <PagedNameViewModel> Handle(GetContinentNamesLikeNameQuery request, CancellationToken cancellationToken) { var name = request.Name; var pageNumber = request.PageNumber; var pageSize = request.PageSize; GuardAgainst.LessThanOrEqualToZero(pageNumber, nameof(pageNumber)); GuardAgainst.LessThanOrEqualToZero(pageSize, nameof(pageSize)); return(_repository.GetContinentNamesLikeName(name, pageNumber, pageSize) .ContinueWith(t => { GuardAgainst.FaultedOrCancelled(t); var count = _repository .GetTotalCountOfContinentNamesLikeName(name) .ResultIfGreaterThanZero(cancellationToken); return new PagedNameViewModel { Count = count, PageNumber = pageNumber, PageSize = pageSize, Items = t.Result.ToList() }; }, cancellationToken)); }