public async Task <dto.GetPostCommitResultsResponse> GetPostCommitResults(bool resetCounter = false) { // if call doesn't qualify for another nav call, then just return result of last call if ((await _sessionBag.PostCommitResultsResponse()) != null && (((await _sessionBag.PostCommitResultsResponse()).SessionPaymentQueryCount >= _commitBookingSettings.MaxQueryCount && !resetCounter) || (DateTime.UtcNow - (await _sessionBag.PostCommitResultsResponse()).PaymentQueryLastCall).TotalSeconds < _commitBookingSettings.RepeatQueryIntervalSecs)) { return(await _sessionBag.PostCommitResultsResponse()); } if (resetCounter) { await _sessionBag.SetPostCommitResultsResponse(null); } var response = await _client.GetPostCommitResultsAsync(new GetPostCommitResultsRequest { ContractVersion = _navApiContractVer, MessageContractVersion = _navMsgContractVer, Signature = await _sessionBag.Signature(), EnableExceptionStackTrace = false, IncludeBookingDelta = true }); //_navApiContractVer, false, //_navMsgContractVer, await _sessionBag.Signature(), true); await _sessionBag.SetPostCommitResultsResponse(Mapper.Map <dto.GetPostCommitResultsResponse>(response, m => m.AfterMap(SetPollingValues))); return(await _sessionBag.PostCommitResultsResponse()); }