예제 #1
0
 private void CheckResult(ClientTierInfo info, AccountTier currentTier, AccountTier?nextTier = null, AccountTier?upgradeRequestTier = null, string upgradeRequestStatus = null)
 {
     Assert.Equal(currentTier, info.CurrentTier.Tier);
     Assert.Equal(nextTier, info.NextTier?.Tier);
     Assert.Equal(upgradeRequestTier, info.UpgradeRequest?.Tier);
     Assert.Equal(upgradeRequestStatus, info.UpgradeRequest?.Status);
 }
예제 #2
0
        public async Task <ClientTierInfo> GetClientTierInfoAsync(string clientId, AccountTier clientTier, string country)
        {
            var currentTierTask   = GetCurrentTierAync(clientId, clientTier, country);
            var upgradeRequetTask = GetUpgradeRequestAsync(clientId, country);
            var questionnaireTask = _questionnaireService.GetQuestionnaireAsync(clientId);

            await Task.WhenAll(currentTierTask, upgradeRequetTask, questionnaireTask);

            NextTier nextTier = await GetNextTierAsync(clientId, clientTier, country, upgradeRequetTask.Result);


            var result = new ClientTierInfo
            {
                CurrentTier           = currentTierTask.Result,
                NextTier              = nextTier,
                UpgradeRequest        = upgradeRequetTask.Result,
                QuestionnaireAnswered = questionnaireTask.Result.Any()
            };

            return(result);
        }