Beispiel #1
0
        public async Task <CrmEntity> GetCrmData(string personId, CultureInfo culture)
        {
            if (string.IsNullOrEmpty(crmUrl))
            {
                return(await GetDummyResponse(personId, culture));
            }
            using (var client = new HttpClient())
            {
                var customerTask  = GetCustomerDetail(client, personId, culture);
                var productTask   = GetProduct(client, personId, culture);
                var insuranceTask = GetInsuranceOffer(client, personId, culture);

                await Task.WhenAll(customerTask, productTask, insuranceTask);

                var customer  = await customerTask;
                var product   = await productTask;
                var insurance = await insuranceTask;

                if (customer?.Customer == null)
                {
                    return(await GetDummyResponse(personId, culture));
                }

                customer.Product        = product ?? FakeCrmService.GetDummyProduct();
                customer.InsuranceOffer = insurance ?? FakeCrmService.GetDummyInsuranceOffer();

                return(customer);
            }
        }
Beispiel #2
0
 private async Task <InsuranceOffer> GetInsuranceOffer(HttpClient client, string personId, CultureInfo culture)
 {
     return(FakeCrmService.GetDummyInsuranceOffer());
 }